Network-layer functions

  • Forwarding: Move packets from router's input to appropriate router output in data plane.
  • Routing: Determine route taken by packets from source to destination in control plane.

Per-router control is a traditional way to implement control plane.
Logically centralized control (SDN) is now used.

Routing algorithm

Goal: Determine good paths (e.g. least cost, fastest, least congested) from sending hosts to receiving host, through network of routers.

Read more »

GOMS

Model Human Processor (HIP) is good for modeling short, isolated tasks, but it doesn't scale to complex, routine tasks.
e.g. matching a symbol to memory, determining the fastest speed to type on two different keyboards

CNM-GOMS (Card, Newell, and Moran) is a higher-level model that models skilled behavior using Goals, Operators, Methods, and Selection rules.
It predicts the performance time of experienced workers to perform a task with an interface design.
Other model like CPM-GOMS (Critial-Path Method), NGOMSL (Natrual GOMS Language) address learning and/or parallel behvaior.

  • Goals: Desired outcomes or tasks
  • Operators: Elementary perceptual, motor or cognitive actions
  • Methods: Sequences of sub-goals and operators that can accomplish a goal
  • Selection rules: Choose between alternative methods available for a given goal

In programmers view, goal is a funtion name, method is a body of a function, selection rules is a program.

Read more »

Spatial Variation

All materials seen so far are the same everywhere.
i.e. BRDF was independent of location on surface.

We will allow BRDF to vary over a surface!

c.f. Why don't we divide the surface into lots of triangles with same BRDF?
This will make the mesh too complex.
We want to distinguish geometric complexity and material complexity.

Texture Mapping

Read more »

Reducing model size

Pruning

In fact, pruning also comes from the biological system!
Number of synapses increases before 2 years old, but decreases after 2 years old.
Probably to reduce resource (a.k.a. energy) usage?

In NN, we prune small output neurons and small weight connections.
Then we train the remaining weights, and we repeat this process.

  • Model size is reduced
  • Faster download
  • Less multiplication, a.k.a. less energy consumption!
  • Weights tend to diverge
Read more »

Photorealistic Rendering

Rendering or image synthesis is the process of generating a image from a 2D or 3D model by means of a computer program.

The goal is to create images from 2D or 3D models which are not distinguisible from what we've seen in the real world.
If we can make photorealistic rendering, non-photorealistic rendering can be easily achieved.

Achieving photorealism in computer graphics requires:

  • Realistic/detailed geometry of models
  • Accurate representations of surface properties (e.g. material)
  • Good physical descriptions of the lighting effects
  • Good understanding of human perception (Human doesn't perceive absolute value... But they are good at perceiving relative value!)
Read more »

Network layer

Path-selection algorithms is implemented in

  • routing protocols: OSPF (inside 1 ISP), BGP (over multiple ISPs)
  • SDN controller: Used in DC (data center)

Network layer uses IP protocol, but ICMP protocol is also used.
ICMP is a network layer protocol that reports error between routers.

IP Datagram

Read more »

Network layer

Network layer transport segment from sending to receiving host.

Sender encapsulates segments into datagrams, passes to link layer.
Receiver delivers segments to transport layer protocol.

Network layer protocols is in every internet device, including hosts and routers.
Routers examine header fields in all IP datagrams passing through it.
Then it moves datagrams from input ports to output ports to transfer datagrams along end-end path.

Two key network-layer functions

Read more »

Predictive Models

A predictive model is a mathematical formula used to estimate outcomes.
It predicts the result for a criterion variable (aka dependent variable) based on one ore more predictor variables. (aka independent variables)

Predictor variables should be numeric or encoded in a way that the model can use.
Ratio-scale is ideal, but ordinal and categorical predictors can be used with proper encoding.

Predictive models, like descriptive models, help us explore how users behave.
However, unlike descriptive models, predictive models deal with numbers, not just ideas or concepts.

Levels of Measurements

Read more »

Rasterization

We should determine which pixels should be turn on.

For each primitive, which pixels are light up?

Rasterization is extremely fast (billions of trangles per second on GPU!), but harder to achieve photorealism.

c.f. Ray tracing: For each pixel, which primitives are seen?
Generally slower, but easier to get photorealism!

Read more »

Sampling 1D Signal

How do we sample and reconstruct continuous 1D signal? (e.g. audio)

  • Piecewise constant approximation: f(x) is value of sample closest to x.
  • Piecewise linear approximation: f(x) is linear interpolation between values of two closest samples to x.

Denser sampling makes better reconstruction.

Sampling 2D Signal

Read more »
0%