21
Systems, Networks, and Concurrency COMP2310/6310 Your lecturer Mechanics/admin Course goals Material Resources Assessment Systems, Networks, and Concurrency COMP2310/COMP6310

Systems, Networks, and Concurrency

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

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

: [email protected]

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: [email protected]

ANUSA President

Madhumitha Janagaraja: [email protected]

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

Systems, Networks, and Concurrency COMP2310/6310

9. Architectures [1]

• 9.1. Hardware architecture

– From switches to registers and

adders

– CPU architecture

– Hardware concurrency

• 9.2. Language architecture

– Chapel

– Occam

– Rust

– Ada

– C++

22