Download presentation
Presentation is loading. Please wait.
Published byArabella Gallagher Modified over 7 years ago
1
CS434/534: Topics in Networked (Networking) Systems Network OS Abstraction: From Data to Function Store; Wireless Foundation: Frequency-Domain Analysis Yang (Richard) Yang Computer Science Department Yale University 208A Watson
2
Outline Admin and recap High-level datapath programming
Network OS supporting programmable networks overview OpenDaylight distributed network OS (Paxos, Raft) from data store to function store Programmable wireless communications and networking Background
3
Admin Hardcopies of PS1 can be turned into my mail box (208A) on the first floor A talk on mobile systems Time: Tuesday 10:30 am Location: AKW
4
Recap Distributed data store using Raft
Programming complexities of data store Programmers need to manually record data access and register subscriptions Programmers need to handle cleanup of any changes made in previous execution Programmers need to make sure that no data-change loops are triggered, to avoid instability From data store to function store Function store API add(func, [meta]), remove(handler) Data access API read(xpath), update(xpath, op, val), test(xpath, booleanExpr, ??
5
Recap: From API to Realization
Re-exec a function using collected dependency. R: {b, c} f2 f4 R: {h} R: {h} f1 f6 f3 f5 R: {a, f} R: {a, b, c} Assume exec’d the seq f1-f6. Then a changes. How to recover? Which functions must re-execute? Which do not need re-exec?
6
From API to Realization: Design 1
UpdateAlg1( a ) Fupdate = a.DEPENDENCY_CHANGE Ffixed = executed before Fupdate in total order restore2( Ffixed ) while ( ! Fupdate.empty() ) { pick f as a root in Fupdate Fupdate -= f; Ffixed += f execute f add functions: not in Ffixed ^ depends on f updates }
7
Question Is UpdateAlg1 correct? R: {b, c} f2 f4 R: {h} R: {h} f1 f6 f3
R: {a, f} R: {a, b, c} Is UpdateAlg1 correct?
8
Function Store There are multiple directions where one can explore:
How to best utilize test()? How to best utilize past computation to learn dependency (e.g., learning)? How to utilize multi-cores in recovery? Can we distribute the functions at multiple servers (e.g., running Raft)? A good topic as a course project.
9
Roadmap High-level networking system programming
Networking operating system overview OpenDaylight distributed networking OS (Paxos, Raft) from data store to function store Programmable wireless communications and networking background software defined wireless networking systems Network function virtualization
10
Recap: Wireless and Mobile Computing
Driven by infrastructure and device technology global infrastructures device miniaturization and capabilities software development platforms Challenges: wireless channel: unreliable, open access mobility portability changing environment heterogeneity
11
Wireless Networking Systems: Objectives
Avoid a full course on wireless communications, but cover enough to understand the main issues and main emerging techniques.
12
Implementing Wireless Systems: From Hardware to Software
13
Overview of Wireless Communicatinos/Networking
source coding bit stream channel coding analog signal sender modulation receiver bit stream source decoding channel decoding demodulation
14
Wireless Example: Wireless: 802.11
15
Basic Question: Why Not Send Digital Signal in Wireless Communications?
1 digital signal t
16
Outline Admin and recap
Programmable wireless communications and networking background Frequency domain analysis (Fourier series)
17
Fourier Series: Decomposing a function into a Collection of Harmonics
A periodic real function g(t) on [-π, π] can be decomposed as a set of harmonics (cos, sin): Time domain 1 1 t t decomposition periodical signal set bk = 0
18
Fourier Series
19
Fourier Series
20
Fourier Series: Example
21
Fourier Series: An Alternative Representation
A problem of the expression It contains both cos() and sin() functions, and hence is somehow complex to manipulate.
22
Fourier Series: Using Euler’s formula
Applying Euler’s formula We have
23
Fourier Series: Using Euler’s formula
24
Making Sense of Complex Numbers
What is the effect of multiplying c by ejπ/2? What is the effect of multiplying c by j?
25
Making Sense of Complex Numbers
26
Making Sense of Complex Numbers: Conjugate
27
Summary of Progress: Fourier Series of Real Function on [-π, π]
28
Defining Decomposition on a General Interval
A periodic function g(t) with period T on [a, a+T] can be decomposed as:
29
Defining Decomposition on [0, 1]
30
ej2πft Making Sense of ej2πft
31
Making Sense of ej2πft G[f]ej2πft ej2πft ϕ=2πft ϕ=-2πft e-j2πft
32
For those who are curious, we do not need it formally
Fourier Transform For those who are curious, we do not need it formally Problem: Fourier series for periodic function g(t), what if g(t) is not periodical? Approach: Truncate g(t) beyond [-L/2, L/2] (i.e., set = 0) and then repeat to define gL(t)
33
Fourier Transform Define Let L grow to infinity, we derive Fourier Transform:
34
Fourier Series vs Fourier Transform
For periodical functions, e.g., [0, 1] Fourier transform For non periodical functions
35
Two Domain Representations
See examples: spectrum_2in.m Two representations: time domain; frequency domain Knowing one can recover the other
36
Example: Frequency Series of sine and cosine
See examples: spectrum_2in.m
37
Example: Frequency Series of sine and cosine
38
Example: Frequency Domain’s View of Euler’s Formula
39
Example: Frequency Domain’s View of Euler’s Formula
40
Example: Frequency Domain’s View of Euler’s Formula
41
From Integral to Computation
42
Discrete Domain Analysis
FFT: Transforming a sequence of numbers x0, x1, …, xN-1 to another sequence of numbers X0, X1, …, XN-1 Interpretation: consider x0, x1, …, xN-1 as sampled values of a periodical function defined on [0, 1] Xk is the coefficient (scaled by N) for k Hz harmonics if the FFT N samples span one sec Draw on blackboard [Nfft, Nfft, …] = Ns (defined for 1 sec)
43
Discrete Domain Analysis
FFT: Inverse DFFT
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.