View
1
Download
0
Category
Preview:
Citation preview
Systems, Networks, and Concurrency COMP2310/6310
Your lecturer
Mechanics/admin
Course goals
Material
Resources
Assessment
Systems, Networks, and ConcurrencyCOMP2310/COMP6310
"Yankee Hat art-MJC" by Martyman at the English language Wikipedia. Licensed under CC BY-SA 3.0 via Wikimedia Commons –
https://commons.wikimedia.org/wiki/File:Yankee_Hat_art-MJC.jpg#/media/File:Yankee_Hat_art-MJC.jpg
Systems, Networks, and Concurrency COMP2310/6310
Introduction
• Who I am and why are we here?
– Josh Milthorpe, Research Fellow, School of Computing
– Research interests
• High-performance computing
• Parallel programming models
• Fault tolerance
Introduction
4
Systems, Networks, and Concurrency COMP2310/6310
Who’s This Guy?
• Dr. Uwe Zimmer
• Autonomous systems researcher
• Creator of most of the course materials
we’ll be using this semester
• Part-time mouse pointer
5
Introduction
Systems, Networks, and Concurrency COMP2310/6310
Mechanics
• Web page
– Schedule, labs, assignment, notices
• Streams
– Enrolment
• Piazza
• Labs
– Please enroll in a lab group – either physical
or online – by the end of week 1
Introduction
6
7
Access & InclusionAre a team of DisAbility and Equity Advisors who support ANU students whose
participation in academic studies is impacted by:
• Disability~ physical or learning
• mental health condition/s
• ongoing chronic medical condition/s,
short term illness/ injury
As well as:
• Carers
• Elite Athletes and
• International under 18 year old students.
If your circumstances are listed above and you require support to achieve your academic goals,
please visit the Access and Inclusion website to find out about registering.
+61 2 6125 5036
: http://www.anu.edu.au/students/health-wellbeing/diversity-inclusion
: access.inclusion@anu.edu.au
8
CECS Course Representatives
Why become a course representative?
– Develop skills sought by employers, including interpersonal,
dispute resolution, leadership and communication skills.
– Become empowered. Play an active role in determining the
direction of your education.
– Become more aware of issues influencing your University
and current issues in higher education.
– Ensure students have a voice to their course convener,
lecturer, tutors, and college.
Roles and responsibilities:
– Act as the official liaison between your peers and convener.
– Be creative, available and proactive in gathering feedback from your
classmates.
– Attend regular meetings, and provide reports on course feedback to
your course convener and the Associate Director (Education).
– Close the feedback loop by reporting back to the class the outcomes
of your meetings.
For more information regarding roles and responsibilities, contact:
ANUSA CECS representatives
Sandy Ma and Swatantra Roy: sa.cecs@anu.edu.au
ANUSA President
Madhumitha Janagaraja: sa.president@anu.edu.au
9
CECS Course Representatives
10
CECS Course Representatives
Want to be a course representative? Nominate today!
Please nominate yourself to your course convenor by
midday 2nd August 2021. You are free to nominate
yourself whether you are currently on-campus or overseas.
All course representative meetings will be held via
Zoom in Semester Two 2021. There will be two
meetings this semester, meeting details will be
provided to course representatives shortly.
Systems, Networks, and Concurrency COMP2310/6310
Introduction
Hurdle Assessments
To pass the course, you must:
– pass the lab hurdle exam, week 4;
– score at least 40% over the two assignments;
– score at least 40% in the final exam.
Failure of any of these hurdles will result in automatic failure of
the course
Please review the administrative overview (course web page)11
Systems, Networks, and Concurrency COMP2310/6310
Plagiarism
Honesty and integrity are paramount.
They are not at odds with research and collaboration.
Do be resourceful, collaborate and engage.
Never represent someone else’s work as your own.
Do read the ANU’s position on academic integrity
https://academichonesty.anu.edu.au/
Introduction
12
Systems, Networks, and Concurrency COMP2310/6310
Course Overview
Course Overview
13
Language introduction [3]
1. Concurrency [3]
2. Mutual exclusion [2]
3. Communication &
Synchronization [4]
4. Non-determinism [2]
5. Data Parallelism [1]
6. Scheduling [2]
7. Safety and liveness [2]
8. Distributed systems [4]
9. Architectures [1]
Systems, Networks, and Concurrency COMP2310/6310
1. Concurrency [3]
• 1.1. Forms of concurrency [1]
– Coupled dynamical systems
• 1.2. Models and terminology [1]
– Abstractions
– Interleaving
– Atomicity
– Proofs in concurrent and
distributed systems
• 1.3. Processes & threads [1]
– Basic definitions
– Process states
– Implementations
14
Systems, Networks, and Concurrency COMP2310/6310
2. Mutual Exclusion [2]
• 2.1. by shared variables [1]
– Failure possibilities
– Dekker’s algorithm
• 2.2. by test-and-set hardware support [0.5]
– Minimal hardware support
• 2.3. by semaphores [0.5]
– Dijkstra’s definition
– OS semaphores
15
Systems, Networks, and Concurrency COMP2310/6310
3. Communication and Synchronization [4]
• 3.1. Shared memory
synchronization [2]
– Semaphores
– Condition variables
– Conditional critical regions
– Monitors
– Protected objects
• 3.2. Message passing [2]
– Asynchronous / synchronous
– Remote invocation / rendezvous
– Message structure
– Addressing
16
Systems, Networks, and Concurrency COMP2310/6310
4. Non-Determinism [2]
• 4.1. Correctness under nondeterminism [1]
– Forms of non-determinism
– Non-determinism in concurrent/ distributed
systems
– Is consistency/correctness plus non-
determinism a contradiction?
• 4.2. Select statements [1]
– Forms of non-deterministic message reception
17
Systems, Networks, and Concurrency COMP2310/6310
5. Data Parallelism [1]
• 5.1. Data Parallelism
– Vectorization
– Reduction
– General data parallelism
• 5.2. Examples
– Image processing
– Cellular automata
18
Systems, Networks, and Concurrency COMP2310/6310
6. Scheduling [2]
• 6.1. Problem definition and design
space [1]
– Which problems are addressed /
solved by scheduling?
• 6.2. Basic scheduling methods [1]
– Assumptions for basic scheduling
– Basic methods
19
Systems, Networks, and Concurrency COMP2310/6310
7. Safety and Liveness [2]
• 7.1. Safety properties [1]
– Essential time-independent safety
properties
• 7.2. Livelocks, fairness
– Forms of livelocks
– Classification of fairness
• 7.3. Deadlocks [1]
– Detection
– Avoidance
– Prevention (& recovery)
• 7.4. Failure modes
• 7.5. Idempotent & atomic
operations
– Definitions
20
Systems, Networks, and Concurrency COMP2310/6310
8. Distributed Systems [4]
• 8.1. Networks [1]
– OSI model
– Network implementations
• 8.2. Global times [1]
– Synchronized clocks
– Logical clocks
• 8.3. Distributed states [1]
– Consistency
– Snapshots
– Termination
• 8.4. Distributed communication [1]
– Name spaces
– Multi-casts
– Elections
– Network identification
21
Recommended