Real-Time Scheduling Single Processor. Chenyang Lu

Similar documents
Final Review. Chenyang Lu. CSE 467S Embedded Compu5ng Systems

Cyber-Physical Systems Scheduling

Operating Systems. Chenyang Lu

Adaptive QoS Control for Real-Time Systems

CS 5523: Operating Systems

Processes. Criteria for Comparing Scheduling Algorithms

Real-Time CORBA. Chenyang Lu CSE 520S

CSE 520S Real-Time Systems

CS 5523 Operating Systems: Synchronization in Distributed Systems

File Systems: Fundamentals

A Calculus for End-to-end Statistical Service Guarantees

Last Time. u Priority-based scheduling. u Schedulable utilization u Rate monotonic rule: Keep utilization below 69%

Batch binary Edwards. D. J. Bernstein University of Illinois at Chicago NSF ITR

Real- Time Wireless Control Networks for Cyber- Physical Systems

Quality of Service in Optical Telecommunication Networks

CS 5523 Operating Systems: Intro to Distributed Systems

Real-Time Wireless Control Networks for Cyber-Physical Systems

DevOps Course Content

Performance & Energy

Critiques. Ø Critique #1

Philips Lifeline. Ø Chenyang Lu 1

Estimating the Margin of Victory for Instant-Runoff Voting*

Fall Detection for Older Adults with Wearables. Chenyang Lu

Estimating the Margin of Victory for Instant-Runoff Voting

Google App Engine 8/10/17. CS Cloud Compu5ng Systems--Summer II 2017

Internet of Things Wireless Sensor Networks. Chenyang Lu

Concurrent Programing: Why you should care, deeply. Don Porter Portions courtesy Emmett Witchel

Last Time. Bit banged SPI I2C LIN Ethernet. u Embedded networks. Ø Characteristics Ø Requirements Ø Simple embedded LANs

CUG Members' Handbook

General Framework of Electronic Voting and Implementation thereof at National Elections in Estonia

CS 2461: Computer Architecture I

Cloud Tutorial: AWS IoT. TA for class CSE 521S, Fall, Jan/18/2018 Haoran Li

Towards a Standard Architecture for Digital Voting Systems - Defining a Generalized Ballot Schema

Key Considerations for Implementing Bodies and Oversight Actors

Kjell-Einar Anderssen. Country Manager Norway - Nutanix

Exploring QR Factorization on GPU for Quantum Monte Carlo Simulation

SMS based Voting System

BMI for everyone. Compsci 6/101: PFTW. Accumulating a value. How to solve an APT. Review how APTs and Python work, run

COULD SIMULATION OPTIMIZATION HAVE PREVENTED 2012 CENTRAL FLORIDA ELECTION LINES?

Computational social choice Combinatorial voting. Lirong Xia

Lab 11: Pair Programming. Review: Pair Programming Roles

Colorado Secretary of State Election Rules [8 CCR ]

Dependability in Distributed Systems

Hoboken Public Schools. Project Lead The Way Curriculum Grade 7

Comparison Sorts. EECS 2011 Prof. J. Elder - 1 -

Hoboken Public Schools. PLTW Introduction to Computer Science Curriculum

Downloaded from: justpaste.it/vlxf

Midterm Review. EECS 2011 Prof. J. Elder - 1 -

The optical memory card is a Write Once media, a written area cannot be overwritten. Information stored on an optical memory card is non-volatile.

North Carolina and the Federal Budget Crisis

A procedure to compute a probabilistic bound for the maximum tardiness using stochastic simulation

Clinical Research Services

Luciano Nicastro

Biogeography-Based Optimization Combined with Evolutionary Strategy and Immigration Refusal

State Election Commission Maharashtra (EMP)

Analyzing the Power Consumption Behavior of a Large Scale Data Center

HPCG on Tianhe2. Yutong Lu 1,Chao Yang 2, Yunfei Du 1

Smart Voting System using UIDAI

Belton I.S.D. Records Management Policy and Procedural Manual. Compiled by: Record Management Committee

INSTITUTIONAL PARTICIPATION OF VOLUNTEERS IN THE RED CROSS

Council of the European Union Brussels, 13 June 2017 (OR. en)

IC Chapter 15. Ballot Card and Electronic Voting Systems; Additional Standards and Procedures for Approving System Changes

Estimating the Margin of Victory for an IRV Election Part 1 by David Cary November 6, 2010

IceCube Project Monthly Report November 2007

Review: Background on Bits. PFTD: What is Computer Science? Scale and Bits: Binary Digits. BIT: Binary Digit. Understanding scale, what does it mean?

Estonian National Electoral Committee. E-Voting System. General Overview

Punchscan: Introduction and System Definition of a High-Integrity Election System

Rules of the European Human Rights Moot Court Competition

UNITED STATES DISTRICT COURT CENTRAL DISTRICT OF CALIFORNIA CIVIL MINUTES GENERAL

CHAPTER 2 LITERATURE REVIEW

Comparison of the Psychometric Properties of Several Computer-Based Test Designs for. Credentialing Exams

CSE 308, Section 2. Semester Project Discussion. Session Objectives

THE PROPOSAL OF GIVING TWO RECEIPTS FOR VOTERS TO INCREASE THE SECURITY OF ELECTRONIC VOTING

ARTICLE. Correlation Among Tardiness Based Measures for Scheduling using Priority Dispatching Rules

Volume I Appendix A. Table of Contents

process will save judges, sheriffs, clerks, and attorneys' time and money.

Case Study. MegaMatcher Accelerator

IceCube Project Monthly Report - September 2010

Increased drilling efficiency saved approximately 26,000 gallons of fuel.

OPEN SOURCE CRYPTOCURRENCY

Director Handbook. Medina County Agricultural Society

E-Filing Court Documents In Escambia County

ECE250: Algorithms and Data Structures Trees

Australian AI 2015 Tutorial Program Computational Social Choice

HISTORY GEOSHARE, DRINET, U2U

IDENTIFYING FAULT-PRONE MODULES IN SOFTWARE FOR DIAGNOSIS AND TREATMENT USING EEPORTERS CLASSIFICATION TREE

Wind power integration and consumer behavior: a complementarity approach

Review of Lab 9. Review Lab 9. Social Network Classes/Driver Data. Lab 10 Design

Hoboken Public Schools. Project Lead The Way Curriculum Grade 8

Electronic pollbooks: usability in the polling place

Many Voters May Have to Wait 30 Minutes or Longer to Vote on a DRE during Peak Voting Hours

M-Vote (Online Voting System)

4th International Industrial Supercomputing Workshop Supercomputing for industry and SMEs in the Netherlands

Security Analysis on an Elementary E-Voting System

TinyOS and nesc. Ø TinyOS: OS for wireless sensor networks. Ø nesc: programming language for TinyOS.

Data Processing Development

Servilla: Service Provisioning in Wireless Sensor Networks. Chenyang Lu

The parametric g- formula in SAS JESSICA G. YOUNG CIMPOD 2017 CASE STUDY 1

Text UI. Data Store Ø Example of a backend to a real Could add a different user interface. Good judgment comes from experience

The Effectiveness of Receipt-Based Attacks on ThreeBallot

Transcription:

Real-Time Scheduling Single Processor Chenyang Lu

Critiques Ø 1/2 page critiques of research papers. q Back-of-envelop comments - NOT whole essays. q Guidelines: http://www.cs.wustl.edu/%7elu/cse521s/critique.html Ø Critique #1 q Email to Yehan by 10am, 10/2 (Monday) - hard deadline! q The Design and Performance of a Real-time CORBA Event Service 2

Readings Ø Single-Processor Scheduling q Hard Real-Time Computing Systems, by G. Buttazzo. Chapter 4 Periodic Task Scheduling Chapter 5 (5.1-5.4) Fixed Priority Servers Chapter 7 (7.1-7.3) Resource Access Protocols Ø Further references q A Practitioner's Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems, by Klein et al. q Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms, by Stankovic et al.

Real-Time Scheduling Ø What are the optimal scheduling algorithms? Ø How to assign priorities to tasks? Ø Can a system meet all deadlines?

Benefit of Scheduling Analysis Schedulability analysis reduces development time by 50%! Reduce wasted implementation/testing rounds Analysis time << testing Quick exploration of design space! More reduction expected for more complex systems VEST (UVA) Baseline (Boeing) Design one processor 40 Design one processor 25 Implementation one processor 75 Scheduling analysis - MUF 1 Timing test 30 Design - two processors 25 Design - two processors 90 Implementation two processors 105 Scheduling analysis - DM/Offset 1 Timing test 20 Implementation 105 Total composition time 172 Total composition time 345 J.A. Stankovic, et al., VEST: An Aspect-Based ComposiBon Tool for Real-Time Systems, RTAS 2003.

Consequence of Deadline Miss Ø Hard deadline q System fails if missed. q Goal: guarantee no deadline miss. Ø Soft deadline q User may notice, but system does not fail. q Goal: meet most deadlines most of the time.

Cyber-Physical Systems (CPS) Cyber-Physical Boundary Real-Time Hybrid Simulation (RTHS) Ø Since the application interacts with the physical world, its computation must be completed under a time constraint. Ø CPS are built from, and depend upon, the seamless integration of computational algorithms and physical components. [NSF] ^ Robert L. and Terry L. Bowen Large Scale Structures Laboratory at Purdue University 7

Cyber-Physical Systems (CPS) Cyber-Physical Boundary 8

InteracCve Cloud Services (ICS) Need to respond within100ms for users to find responsive*. Query doc Doc. index search 2 nd phase ranking Snippet generator Search the web Response * Jeff Dean et al. (Google) "The tail at scale." Communications of the ACM 56.2 (2013) 9

InteracCve Cloud Services (ICS) Need to respond within100ms for users to find responsive*. E.g., web search, online gaming, stock trading etc. Search the web * Jeff Dean et al. (Google) "The tail at scale." Communications of the ACM 56.2 (2013) 10

Comparison Ø General-purpose systems q Fairness to all tasks (no starvation) q Optimize throughput q Optimize average performance Ø Real-time systems q Meet all deadlines. q Fairness or throughput is not important q Hard real-time: worry about worst case performance Chenyang Lu 11

Terminology Ø Task q Map to a process or thread q May be released multiple times Ø Job: an instance of a task Ø Periodic task q Ideal: inter-arrival time = period q General: inter-arrival time >= period Ø Aperiodic task q Inter-arrival time does not have a lower bound Chenyang Lu 12

Timing Parameters Ø Task T i q Period P i q Worst-case execution time C i q Relative deadline D i Ø Job J ik q Release time: time when a job is ready q Response time R i = finish time release time q Absolute deadline = release time + D i Ø A job misses its deadline if q Response time R i > D i q Finish time > absolute deadline Chenyang Lu 13

Example Ø P 1 = D 1 = 5, C 1 = 2; P 2 = D 2 = 7, C 2 = 4. Chenyang Lu 14

Metrics Ø A task set is schedulable if all jobs meet their deadlines. Ø Optimal scheduling algorithm q A task set is unschedulable under the optimal algorithm à unschedulable under any other algorithms. Ø Overhead: Time required for scheduling. Chenyang Lu 15

OpCmal Scheduling Algorithms Ø Rate Monotonic (RM) q Higher rate (1/period) à Higher priority q Optimal preemptive static priority scheduling algorithm Ø Earliest Deadline First (EDF) q Earlier absolute deadline à Higher priority q Optimal preemptive dynamic priority scheduling algorithm Chenyang Lu 16

Example Ø P 1 = D 1 = 5, C 1 = 2; P 2 = D 2 = 7, C 2 = 4. Chenyang Lu 17

AssumpCons Ø Single processor. Ø All tasks are periodic. Ø Zero context switch time. Ø Relative deadline = period. Ø No priority inversion. Ø Have been extended to remove these assumptions. Chenyang Lu 18

Schedulable UClizaCon Bound Utilization of a processor: U n Ci = P i= 1 n: number of tasks on the processor. Utilization bound U b : All tasks are guaranteed to be schedulable if U U b. No scheduling algorithm can schedule a task set if U>1 U b 1 An algorithm is optimal if its U b = 1 i Chenyang Lu 19

RM UClizaCon Bound Ø U b (n) = n(2 1/n -1) q n: number of tasks q U b (2) = 0.828 q U b (n) U b ( ) = ln2 = 0.693 Ø U U b (n) is a sufficient condition, but not necessary. Ø U b = 1 if all task periods are harmonic q Periods are multiples of each other q e.g., 1,10,100 Chenyang Lu 20

ProperCes of RM Ø May not guarantee schedulability when CPU is not fully utilized. Ø Low overhead q When the task set is fixed, the priority of a task never changes. Ø Easy to implement on POSIX APIs. Chenyang Lu 21

EDF UClizaCon Bound Ø U b = 1 Ø U 1: sufficient and necessary condition for schedulability. Ø Guarantees schedulability if CPU is not over-utilized. Ø Higher overhead than RM: task priority may change online. Chenyang Lu 22

AssumpCons Ø Single processor. Ø All tasks are periodic. Ø Zero context switch time. Ø Relative deadline = period. Ø No priority inversion. Ø What if relative deadline < period? Chenyang Lu 23

OpCmal Scheduling Algorithms RelaCve Deadline < Period Ø Deadline Monotonic (DM) q Shorter relative deadline à Higher priority q Optimal preemptive static priority scheduling Ø Earliest Deadline First (EDF) q Earlier absolute deadline à Higher priority q Optimal preemptive dynamic priority scheduling algorithm Chenyang Lu 24

DM Analysis Sufficient but pessimistic test n i= 1 C i D i 1/ n n(2-1) Sufficient and necessary test: response time analysis Chenyang Lu 25

Response Time Analysis Works for any fixed-priority preemptive scheduling algorithm. Critical instant results in a task s longest response time. when all higher-priority tasks are released at the same time. Worst-case response time Tasks are ordered by priority; T 1 has highest priority R R C C i 1 i i = i + j j= 1 Pj Chenyang Lu 26

Response Time Analysis Tasks are ordered by priority; T 1 has the highest priority. for (each task T j ) { I = 0; R = 0; while (I + C j > R) { R = I + C j ; if (R > D j ) return UNSCHEDULABLE; j-1 R I= C k=1 k; Pk } } return SCHEDULABLE; Chenyang Lu 27

Example Ø P 1 = D 1 = 5, C 1 = 2; P 2 = D 2 = 7, C 2 = 4. Chenyang Lu 28

EDF: Processor Demand Analysis To start, assume D i = P i Processor demand in interval [0, L]: total time needed for completing all jobs with deadlines no later than L. C P (0, L) = n i= 1 L P i C i Chenyang Lu 29

Schedulable CondiCon A set of periodic tasks is schedulable by EDF if and only if for all L 0: L n i= 1 L P i C i There is enough time to meet processor demand at every time instant. Chenyang Lu 30

End at the first time instant L when all the released jobs are completed W(L): Total execution time of all tasks released by L. Busy Period B p } ) ( min{ ) ( 1 L L W L B C P L L W p i n i i = = = = Chenyang Lu 31

ProperCes of Busy Period CPU is fully utilized during a busy period. The end of a busy period coincides with the beginning of an idle time or the release of a periodic job. Chenyang Lu 32

Schedulable CondiCon All tasks are schedulable if and only if L n i= 1 C at all job release times before min(b p, H) L P i i Chenyang Lu 33

Compute Busy Period busy_period { H = lcm(p 1,,P n ); /* least common multiple */ L = C i ; L' = W(L); while (L'!= L and L' <= H) { L = L'; L' = W(L); } if (L' <= H) B p = L; else B p = INFINITY; } Chenyang Lu 34

Processor Demand Test: D i < P i A set of periodic tasks with deadlines no more than periods is schedulable by EDF if and only if n L D i L D, L + 1 C i= 1 P i where D = {D i,k D i,k = kp i +D i, D i,k min(b p, H), 1 i n, k 0}. i Note: only need to test all deadlines before min(b p,h). Chenyang Lu 35

Schedulability Test Revisited Static Priority D = P RM Utilization bound Response time D < P DM Response time Dynamic Priority EDF Utilization bound EDF Processor demand Check out examples at hip://www.cse.wustl.edu/~lu/cse467s/slides/example_sched.pdf Chenyang Lu 36

AssumpCons Ø Single processor. Ø All tasks are periodic. Ø Zero context switch time. Ø Relative deadline = period. Ø No priority inversion. Chenyang Lu 37

QuesCons Ø What causes priority inversion? Ø How to reduce priority inversion? Ø How to analyze schedulability? Chenyang Lu 38

Priority Inversion Ø A low-priority task blocks a high-priority task. Ø Sources of priority inversion q Access shared resources guarded by semaphores. q Access non-preemptive subsystems, e.g., storage, networks. Chenyang Lu 39

Semaphores Ø OS primitive for controlling access to critical regions. q Get access to semaphore S with sem_wait(s). q Perform critical region operations. q Release semaphore with sem_post(s). Ø Mutex: only one process can hold a mutex at a time. sem_wait(mutex_info_bus); Write data to info bus; sem_post(mutex_info_bus); Chenyang Lu 40

What happened to Pathfinder? Ø But a few days into the mission, not long after Pathfinder started gathering meteorological data, the spacecraft began experiencing total system resets, each resulting in losses of data Real-World (Out of This World) Story: Priority inversion almost ruined the path finder mission on MARS! http://research.microsoft.com/~mbj/ Chenyang Lu 41

Priority Inversion critical section T 1 blocked! 1 1 1 4 4 4 4 0 2 4 6 8 10 12 14 16 18 20 22 Chenyang Lu 42

Unbounded Priority Inversion critical section 1 T 1 blocked by T 4, T 2, T 3! 1 1 3 2 4 4 4 4 4 0 2 4 6 8 10 12 14 16 18 20 22 Chenyang Lu 43

SoluCon Ø The low-priority task inherits the priority of the blocked high-priority task. T 1 only blocked by T 4 critical section 1 1 1 Inherit priority 1! Return to priority 4! 3 2 4 4 4 4 0 2 4 6 8 10 12 14 16 18 20 22 Chenyang Lu 44

Priority Inheritance Protocol (PIP) Ø When task T i is blocked on a semaphore held by T k q If prio(t k ) is lower than prio(t i ), prio(t i ) à T k Ø When T k releases a semaphore q If T k no longer blocks any tasks, it returns to its normal priority. q If T k still blocks other tasks, it inherits the highest priority of the remaining tasks that it is blocking. Ø Priority Inheritance is transitive q T 2 blocks T 1 and inherits prio(t 1 ) q T 3 blocks T 2 and inherits prio(t 1 ) Chenyang Lu 45

How was Path Finder saved? Ø When created, a VxWorks mutex object accepts a boolean parameter that indicates if priority inheritance should be performed by the mutex. q The mutex in question had been initialized with the parameter FALSE. Ø VxWorks contains a C interpreter intended to allow developers to type in C expressions/functions to be executed on the fly during system debugging. Ø The initialization parameter for the mutex was stored in global variables, whose addresses were in symbol tables also included in the launch software, and available to the C interpreter. Ø A C program was uploaded to the spacecraft, which when interpreted, changed these variables from FALSE to TRUE. Ø No more system resets occurred. L. Sha, R. Rajkumar, J.P Lehoczky, Priority Inheritance Protocols: An Approach to Real- Time Synchronization, IEEE Transactions on Computers, 39(9):1175-1185, 9/1990 Chenyang Lu 46

Bounded Number of Blocking Ø Assumptions of analysis q Fixed priority scheduling q All semaphores are binary q All critical sections are properly nested Ø Task T i can be blocked by at most min(m,n) times q m: number of distinct semaphores that can be used to block T i q n: number of lower-priority tasks that can block T i Chenyang Lu 47

Extended RMS UClizaCon Bound A set of periodic tasks can be scheduled by RMS/PIP if i, 1 i n, k= 1 1) Tasks are ordered by priorities (T 1 has the highest priority). i B i : the maximum amount of time when task T i can be blocked by a lower-priority task. C P k k + Bi P i i(2 1/ i Chenyang Lu 48

Extended Response Time Analysis Consider the effect of blocking on response time: R R C B C i 1 i i = i + i + j j= 1 Pj The analysis becomes sufficient but not necessary. Chenyang Lu 49

Priority Ceiling Ø C(S k ): Priority ceiling of a semaphore S k q Highest priority among tasks requesting S k. Ø A critical section guarded by S k may block task T i only if C(S k ) is higher than prio(t i ) Chenyang Lu 50

Compute B i Assumption: no nested critical sections. /* potential blocking by other tasks */ B1=0; B2=0; for each T j with priority lower than T i { b1 = longest critical section in T j that can block T i B1 = B1 + b1 } /* potential blocking by semaphores */ for each semaphore S k that can block T i { b2 = longest critical section guarded by S k among lower priority tasks B2 = B2 + b2 } return min(b1, B2) Chenyang Lu 51

Priority Ceiling Protocol Ø Priority ceiling of the processor: The highest priority ceiling of all semaphores currently held. Ø A task can acquire a resource only if q the resource is free, AND q it has a higher priority than the priority ceiling of the system. Ø A task is blocked by at most one critical section. Ø Higher run-time overhead than PIP. Chenyang Lu 52

AssumpCons Ø Single processor. Ø All tasks are periodic. Ø Zero context switch time. Ø Relative deadline = period. Ø No priority inversion. Chenyang Lu 53

Hybrid Task Set Ø Periodic tasks + aperiodic tasks Ø Problem: arrival times of aperiodic tasks are unknown Ø Sporadic task with a hard deadline q Inter-arrival time must be lower bounded q Schedulability analysis: treated as a periodic task with period = minimum inter-arrival time à can be very pessimistic. Ø Aperiodic task with a soft deadline q Possibly unbounded inter-arrival time q Maintain hard guarantees on periodic tasks q Reduce response time of aperiodic tasks Chenyang Lu 54

Background Scheduling Ø Handle aperiodic requests with the lowest-priority task Ø Advantages q Simple q Aperiodic tasks usually have no impact on periodic tasks. Ø Disadvantage q Aperiodic tasks have very long response times when the utilization of periodic tasks is high. Ø Acceptable only if q System is not busy q Aperiodic tasks can tolerate long delays Chenyang Lu 55

Polling Server Ø A periodic task (server) serves aperiodic requests. q Period: P s q Capacity: C s Ø Released periodically at period P s Ø Serves any pending aperiodic requests Ø Suspends itself until the end of the period if q it has used up its capacity, or q no aperiodic request is pending Ø Capacity is replenished to C s at the beginning of the next period Chenyang Lu 56

Example: Polling Server Chenyang Lu 57

Schedulability Ø Polling server has the same impact on periodic tasks as a periodic task. q n tasks with m servers: U p + U s U b (n+m) Ø Disadvantage: If an aperiodic request misses the server, it has to wait till the next period. à long response time. Ø Can have multiple servers (with different periods) for different classes of aperiodic requests Chenyang Lu 58

Deferrable Server (DS) Ø Preserve unused capacity till the end of the current period à shorter response to aperiodic requests. Ø Impact on periodic tasks differs from a periodic task. Chenyang Lu 59

Example: Deferrable Server Chenyang Lu 60

Under RMS As n à : When U s = 0.186, min U b = 0.652 System is schedulable if RM UClizaCon Bound with DS + + + = 1 1 2 2 / 1 n s s s b U U n U U Chenyang Lu 61 + + + = 1 2 2 ln s s s b U U U U + + 1 2 2 ln s s p U U U

DS: Middleware ImplementaCon First DS implementation on top of priority-based OS (e.g., Linux, POSIX) Server thread processes aperiodic events (2 nd highest priority) Budget manager thread (highest priority) manages the budget and controls the execution of server thread High Priority Low Priority ACE Timer Queue Aperiodic Events Kokyu Dispatching Queue Periodic Events Kokyu Dispatching Queue Periodic Events Kokyu Dispatching Queue Replenish Timer Budget Manager Thread Budget Exhausted Timer Server Thread Dispatching Thread Dispatching Thread Y. Zhang, C. Lu, C. Gill, P. Lardieri, G. Thaker, Middleware Support for Aperiodic Tasks in Distributed Real-Time Systems, RTAS'07. Chenyang Lu 62

AssumpCons Ø Single processor. Ø All tasks are periodic. Ø Zero context switch time. Ø Relative deadline = period. Ø No priority inversion. Chenyang Lu 63

Context Switch Time Ø RTOS usually has low context switch overhead. Ø Context switches can still cause overruns in a tight schedule. q Leave margin in your schedule. Ø Techniques exist to reduce number of context switches by avoiding certain preemptions. Ø Other forms of overhead: cache, thread migration, interrupt handling, bus contention, thread synchronization Chenyang Lu 64

Fix an Unschedulable System Ø Reduce task execution times. Ø Reduce blocking factors. Ø Get a faster processor. Ø Replace software components with hardware. Ø Multi-processor and distributed systems. Chenyang Lu 65