SlideShare a Scribd company logo
Shared Objects
and
Synchronization

Dr. C.V. Suresh Babu

1
Major chip manufacturers have recently
announced a major paradigm shift:
Intel … [has] decided to focus its development efforts on
«dual core» processors … with two engines instead of one,
allowing for greater efficiency because the processor
workload is essentially shared.

Multi-processors and Multicores
vs
faster processors

2
The clock speed of a processor
cannot be increased without
overheating.

But
More and more processors can fit in
the same space.
3
Transistor
count still
rising
Clock speed
flattening
sharply

4
Speed will be achieved by having several
processors work on independent parts of a
task.

But
The processors would occasionally need to
pause and synchronize.

But
If the task is shared, then pure parallelism is
usually impossible and, at best, inefficient.
5
Concurrent computing for
the masses
Forking processes might be more frequent
But…
Concurrent accesses to shared objects might
become more problematic and harder.
6
How do devices synchronize?

Concurrent processes

Shared object

7
How do devices synchronize?

Locking (mutual exclusion)

8
How do devices synchronize?

One process at a time

Locked object
9
How do devices synchronize?
Locking (mutual exclusion)
Difficult: 50% of the bugs reported in
Java come from the use of
« synchronized »
Fragile: a process holding a lock
prevents all others from progressing
Other: deadlock, livelock, priority
inversion, etc.
10
Why is locking hard? are
Processes
asynchronous
Page faults
Pre-emptions
Failures
Cache misses, …
A process can be delayed by millions of
instructions …
11
Alternative to locking?

12
Wait-free atomic objects
Wait-freedom: every process that
invokes an operation eventually returns
from the invocation
o Robust … unlike locking.
Atomicity: every operation appears to
execute instantaneously.
o As if the object were locked.
13
In short
This course shows how to
wait-free implement high-level
atomic objects out of more
primitive base objects.

14
Concurrent processes

Shared object

15
Agenda
1.

Introduction:

2.

2. Model:
•

Processes and objects

•

Atomicity

•

Wait-freedom

3. Exemples

16
Processes
We assume a finite set of processes:
– Processes have unique identifiers.
– Processes are denoted as « p1, …, pN »
or « p, q, r »
– Processes know each other.
– Processes can coordinate via shared objects.

17
Processes
We assume a finite set of processes:
– Each process models a sequential program.
– Each clock tick each process takes a step.
– In each step, a process:
a) Performs some computation. (LOCAL)
b) Initiates an operation on a shared object. (GLOBAL)
c) Receives a response from an operation. (GLOBAL)

– We make no assumptions on process
(relative) speeds. (Asynchronous)
18
Processes
p1
p2

p3

19
Processes
Crash Failures:
A process either executes the algorithm
assigned to it or crashes.
A process that crashes does not recover.
A process that does not crash in a given
execution (computation or run) is called
correct (in that execution).
20
Processes
p1
p2

crash

p3

21
On objects and processes
Processes interact via shared objects:
A process can initiate an operation
on a particular object.
Every operation is expected to
return a reply.
Each process can initiate only one
operation at a time.
22
Processes
operation
p1
operation
p2
operation
p3

23
On objects and processes
Sequentiality:
–

After invoking an operation op1 on
some object O1…

–

A process does not invoke a new
operation on the same or on some
other object…

–

Until it receives the reply for op1.

Remark . Sometimes we talk about
operations when we should be talking
about operation invocations

24
Processes
operation
p1
operation
p2
operation
p3

25
Atomicity
We mainly focus in this course on how
to implement atomic objects.

Atomicity (or linearizability):
–

Every operation appears to execute
at some indivisible point in time.

–

This is called the linearization point.

–

This point is between the invocation
and the reply.
26
Atomicity
operation
p1
operation
p2
operation
p3

27
Atomicity
operation
p1
operation
p2
operation
p3

28
Atomicity (the crash case)
operation
p1
operation
p2
operation
p3

crash

29
Atomicity (the crash case)
operation
p1
operation
p2
operation
p3

30
Atomicity (the crash case)
operation
p1
operation
p2

p3

31
Atomicity
 Theorem:
Consider executions of algorithm A in which every
operation completes.
If every such execution is atomic, then A guarantees
atomicity in all executions (even those with operations
that do not complete).

32
Wait-freedom
We mainly focus in this course on wait-free
implementations
An implementation is wait-free if:
•

Any correct process that invokes an
operation eventually gets a reply.

•

This does not depend on any other process.

•

Other processes may crash or be very slow.
33
Wait-freedom
operation
p1
p2

p3

34
Wait-freedom
Wait-freedom conveys the robustness of
the implementation
With a wait-free implementation, a
process gets replies despite the crash of
the n-1 other processes
Note that this precludes implementations
based on locks (i.e., mutual exclusion).
35
Wait-freedom
operation
p1
p2

crash

p3

crash

36
Motivation
Most synchronization primitives
(problems) can be precisely expressed
as atomic objects (implementations)
Studying how to ensure robust
synchronization boils down to studying
wait-free atomic object implementations

37
Example 1
The reader/writer synchronization
problem corresponds to the register
object
Basically, the processes need to read
or write a shared data structure such
that the value read by a process at a
time t, is the last value written before t

38
Register
A register has two operations:
–

read()

–

write()

Assume (for simplicity) that:
– a register contains an integer
– the register is denoted by x
– the register is initially 0
39
Read/Write Register
Sequential specification:

read()
return(x)
write(v)
x ← v;
return(ok)
40
Atomicity?
write(1) - ok
p1
read() - 2
p2
write(2) - ok
p3

41
Atomicity?
write(1) - ok
p1
read() - 2
p2
write(2) - ok
p3

42
Atomicity?
write(1) - ok
p1
read() - 1
p2
write(2) - ok
p3

43
Atomicity?
write(1) - ok
p1
read() - 1
p2
write(2) - ok
p3

44
Atomicity?
write(1) - ok
p1
read() - 1
p2
read() - 1
p3

45
Atomicity?
write(1) - ok
p1
read() - 1
p2
read() - 0
p3

46
Atomicity?
write(1) - ok
p1
read() - 0
p2
read() - 0
p3

47
Atomicity?
write(1) - ok
p1
read() - 0
p2
read() - 0
p3

48
Atomicity?
write(1) - ok
p1
read() - 0
p2
read() - 0
p3

49
Atomicity?
write(1) - ok
p1
read() - 1
p2
read() - 0
p3

50
Atomicity?
write(1) - ok
p1
read() - 1
p2
read() - 1
p3

51
Example 2
Producer/consumer synchronization:
corresponds to the queue object.
Producer processes create items;
consumer processes use items.
Requirements:
–

An item cannot be consumed by 2 processes.

–

The first item produced is the first consumed
(FIFO).
52
Queue
A queue has two operations:
enqueue() and dequeue()
We assume that a queue internally
maintains a list x which supports:
–

append(): put an item at the end of the list;

–

remove(): remove an element from the head
of the list.
53
Sequential specification
dequeue()
if (x = 0) then return(nil);
else return(x.remove())
enqueue(v)
x.append(v);
return(ok)
54
Atomicity?
enq(x) - ok
p1
enq(y) - ok

deq() - y

p2
deq() - x
p3

55
Atomicity?
enq(x) - ok
p1
enq(y) - ok

deq() - y

p2
deq() - x
p3

56
Atomicity?
enq(x) - ok
p1
deq() - y
p2
enq(y) - ok
p3

57
Atomicity?
enq(x) - ok
p1
deq() - x
p2
enq(y) - ok
p3

58
Content
(1) Implementing registers
(2) The power & limitation of registers
(3) Universal objects & synchronization number
(4) The power of time & failure detection
(5) Tolerating failure prone objects
(6) Anonymous implementations
(7) Transaction memory

59
Conclusion
This topic shows how to wait-free
implement high-level atomic objects
out of basic objects

Remark: unless explicitely stated otherwise:
objects mean atomic objects and
implementations are wait-free.
60

More Related Content

What's hot

Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examples
Peter Lawrey
 
6 Synchronisation
6 Synchronisation6 Synchronisation
6 Synchronisation
Dr. Loganathan R
 
Concurrent talk
Concurrent talkConcurrent talk
Concurrent talkrahulrevo
 
Operating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and DeadlocksOperating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and Deadlocks
Mukesh Chinta
 
Operating System-Ch6 process synchronization
Operating System-Ch6 process synchronizationOperating System-Ch6 process synchronization
Operating System-Ch6 process synchronization
Syaiful Ahdan
 
Chapter 6 - Process Synchronization
Chapter 6 - Process SynchronizationChapter 6 - Process Synchronization
Chapter 6 - Process SynchronizationWayne Jones Jnr
 
Concurrent Programming in Java
Concurrent Programming in JavaConcurrent Programming in Java
Concurrent Programming in Java
Ruben Inoto Soto
 
Ch7 Process Synchronization galvin
Ch7 Process Synchronization galvinCh7 Process Synchronization galvin
Ch7 Process Synchronization galvin
Shubham Singh
 
Structured concurrency with Kotlin Coroutines
Structured concurrency with Kotlin CoroutinesStructured concurrency with Kotlin Coroutines
Structured concurrency with Kotlin Coroutines
Vadims Savjolovs
 
Introduction to Reactive Java
Introduction to Reactive JavaIntroduction to Reactive Java
Introduction to Reactive Java
Tomasz Kowalczewski
 
Fork Join (BeJUG 2012)
Fork Join (BeJUG 2012)Fork Join (BeJUG 2012)
Fork Join (BeJUG 2012)
Sander Mak (@Sander_Mak)
 
Fork/Join for Fun and Profit!
Fork/Join for Fun and Profit!Fork/Join for Fun and Profit!
Fork/Join for Fun and Profit!
Sander Mak (@Sander_Mak)
 
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
Ra'Fat Al-Msie'deen
 
Process Synchronization And Deadlocks
Process Synchronization And DeadlocksProcess Synchronization And Deadlocks
Process Synchronization And Deadlockstech2click
 
Contiki introduction II-from what to how
Contiki introduction II-from what to howContiki introduction II-from what to how
Contiki introduction II-from what to how
Dingxin Xu
 
Re-engineering Eclipse MDT/OCL for Xtext
Re-engineering Eclipse MDT/OCL for XtextRe-engineering Eclipse MDT/OCL for Xtext
Re-engineering Eclipse MDT/OCL for Xtext
Edward Willink
 
Process Synchronization
Process SynchronizationProcess Synchronization
Process Synchronizationvinay arora
 

What's hot (20)

Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examples
 
SYNCHRONIZATION
SYNCHRONIZATIONSYNCHRONIZATION
SYNCHRONIZATION
 
6 Synchronisation
6 Synchronisation6 Synchronisation
6 Synchronisation
 
Concurrent talk
Concurrent talkConcurrent talk
Concurrent talk
 
Os3
Os3Os3
Os3
 
Operating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and DeadlocksOperating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and Deadlocks
 
Operating System-Ch6 process synchronization
Operating System-Ch6 process synchronizationOperating System-Ch6 process synchronization
Operating System-Ch6 process synchronization
 
Chapter 6 - Process Synchronization
Chapter 6 - Process SynchronizationChapter 6 - Process Synchronization
Chapter 6 - Process Synchronization
 
OS_Ch7
OS_Ch7OS_Ch7
OS_Ch7
 
Concurrent Programming in Java
Concurrent Programming in JavaConcurrent Programming in Java
Concurrent Programming in Java
 
Ch7 Process Synchronization galvin
Ch7 Process Synchronization galvinCh7 Process Synchronization galvin
Ch7 Process Synchronization galvin
 
Structured concurrency with Kotlin Coroutines
Structured concurrency with Kotlin CoroutinesStructured concurrency with Kotlin Coroutines
Structured concurrency with Kotlin Coroutines
 
Introduction to Reactive Java
Introduction to Reactive JavaIntroduction to Reactive Java
Introduction to Reactive Java
 
Fork Join (BeJUG 2012)
Fork Join (BeJUG 2012)Fork Join (BeJUG 2012)
Fork Join (BeJUG 2012)
 
Fork/Join for Fun and Profit!
Fork/Join for Fun and Profit!Fork/Join for Fun and Profit!
Fork/Join for Fun and Profit!
 
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
 
Process Synchronization And Deadlocks
Process Synchronization And DeadlocksProcess Synchronization And Deadlocks
Process Synchronization And Deadlocks
 
Contiki introduction II-from what to how
Contiki introduction II-from what to howContiki introduction II-from what to how
Contiki introduction II-from what to how
 
Re-engineering Eclipse MDT/OCL for Xtext
Re-engineering Eclipse MDT/OCL for XtextRe-engineering Eclipse MDT/OCL for Xtext
Re-engineering Eclipse MDT/OCL for Xtext
 
Process Synchronization
Process SynchronizationProcess Synchronization
Process Synchronization
 

Viewers also liked

C323-RiskManagementPrinciplesandApplications-AssignmentOne
C323-RiskManagementPrinciplesandApplications-AssignmentOneC323-RiskManagementPrinciplesandApplications-AssignmentOne
C323-RiskManagementPrinciplesandApplications-AssignmentOneMark Heath - BA Hons, MSc, MCIPS
 
Книга "Банатски вкусотии и ястия от другаде... част 2"
Книга "Банатски вкусотии и ястия от другаде... част 2"Книга "Банатски вкусотии и ястия от другаде... част 2"
Книга "Банатски вкусотии и ястия от другаде... част 2"
megs91
 
Книга "Банатски вкусотии и ястия от другаде..."
Книга "Банатски вкусотии и ястия от другаде..."Книга "Банатски вкусотии и ястия от другаде..."
Книга "Банатски вкусотии и ястия от другаде..."
megs91
 
Graphss
GraphssGraphss
Graphss
fika sweety
 
Query optimization and challenges in DDBMS with Review Algorithms.
Query optimization and challenges in DDBMS with Review Algorithms.Query optimization and challenges in DDBMS with Review Algorithms.
Query optimization and challenges in DDBMS with Review Algorithms.
Beingprp
 
ICT Unit 1
ICT Unit 1ICT Unit 1

Viewers also liked (9)

C323-RiskManagementPrinciplesandApplications-AssignmentOne
C323-RiskManagementPrinciplesandApplications-AssignmentOneC323-RiskManagementPrinciplesandApplications-AssignmentOne
C323-RiskManagementPrinciplesandApplications-AssignmentOne
 
HR Process Consulting
HR Process ConsultingHR Process Consulting
HR Process Consulting
 
Activity Box Flyer
Activity Box FlyerActivity Box Flyer
Activity Box Flyer
 
Книга "Банатски вкусотии и ястия от другаде... част 2"
Книга "Банатски вкусотии и ястия от другаде... част 2"Книга "Банатски вкусотии и ястия от другаде... част 2"
Книга "Банатски вкусотии и ястия от другаде... част 2"
 
Книга "Банатски вкусотии и ястия от другаде..."
Книга "Банатски вкусотии и ястия от другаде..."Книга "Банатски вкусотии и ястия от другаде..."
Книга "Банатски вкусотии и ястия от другаде..."
 
C321-CorporateFinance-AssignmentTwo
C321-CorporateFinance-AssignmentTwoC321-CorporateFinance-AssignmentTwo
C321-CorporateFinance-AssignmentTwo
 
Graphss
GraphssGraphss
Graphss
 
Query optimization and challenges in DDBMS with Review Algorithms.
Query optimization and challenges in DDBMS with Review Algorithms.Query optimization and challenges in DDBMS with Review Algorithms.
Query optimization and challenges in DDBMS with Review Algorithms.
 
ICT Unit 1
ICT Unit 1ICT Unit 1
ICT Unit 1
 

Similar to Shared objects and synchronization

CH05.pdf
CH05.pdfCH05.pdf
CH05.pdf
ImranKhan880955
 
cs2110Concurrency1.ppt
cs2110Concurrency1.pptcs2110Concurrency1.ppt
cs2110Concurrency1.ppt
narendra551069
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
theijes
 
Effective java item 80 and 81
Effective java   item 80 and 81Effective java   item 80 and 81
Effective java item 80 and 81
Isaac Liao
 
Nondeterminism is unavoidable, but data races are pure evil
Nondeterminism is unavoidable, but data races are pure evilNondeterminism is unavoidable, but data races are pure evil
Nondeterminism is unavoidable, but data races are pure evil
racesworkshop
 
Memory model
Memory modelMemory model
Memory model
MingdongLiao
 
Computer network (8)
Computer network (8)Computer network (8)
Computer network (8)
NYversity
 
Algorithm analysis.pptx
Algorithm analysis.pptxAlgorithm analysis.pptx
Algorithm analysis.pptx
DrBashirMSaad
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methods
Ajith Narayanan
 
AA_Unit 1_part-I.pptx
AA_Unit 1_part-I.pptxAA_Unit 1_part-I.pptx
AA_Unit 1_part-I.pptx
swapnilslide2019
 
Async and parallel patterns and application design - TechDays2013 NL
Async and parallel patterns and application design - TechDays2013 NLAsync and parallel patterns and application design - TechDays2013 NL
Async and parallel patterns and application design - TechDays2013 NL
Arie Leeuwesteijn
 
Multicore Processors
Multicore ProcessorsMulticore Processors
Multicore Processors
Smruti Sarangi
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demo
Ajith Narayanan
 
Os2 2
Os2 2Os2 2
Os2 2issbp
 
Asynchronous Python A Gentle Introduction
Asynchronous Python A Gentle IntroductionAsynchronous Python A Gentle Introduction
Asynchronous Python A Gentle Introduction
PyData
 
Process Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux KernelProcess Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux Kernel
Haifeng Li
 
Lecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptxLecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptx
Amanuelmergia
 

Similar to Shared objects and synchronization (20)

Concurrency
ConcurrencyConcurrency
Concurrency
 
Ch3-2
Ch3-2Ch3-2
Ch3-2
 
CH05.pdf
CH05.pdfCH05.pdf
CH05.pdf
 
cs2110Concurrency1.ppt
cs2110Concurrency1.pptcs2110Concurrency1.ppt
cs2110Concurrency1.ppt
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
Effective java item 80 and 81
Effective java   item 80 and 81Effective java   item 80 and 81
Effective java item 80 and 81
 
Nondeterminism is unavoidable, but data races are pure evil
Nondeterminism is unavoidable, but data races are pure evilNondeterminism is unavoidable, but data races are pure evil
Nondeterminism is unavoidable, but data races are pure evil
 
Memory model
Memory modelMemory model
Memory model
 
Computer network (8)
Computer network (8)Computer network (8)
Computer network (8)
 
Algorithm analysis.pptx
Algorithm analysis.pptxAlgorithm analysis.pptx
Algorithm analysis.pptx
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methods
 
AA_Unit 1_part-I.pptx
AA_Unit 1_part-I.pptxAA_Unit 1_part-I.pptx
AA_Unit 1_part-I.pptx
 
Async and parallel patterns and application design - TechDays2013 NL
Async and parallel patterns and application design - TechDays2013 NLAsync and parallel patterns and application design - TechDays2013 NL
Async and parallel patterns and application design - TechDays2013 NL
 
Multicore Processors
Multicore ProcessorsMulticore Processors
Multicore Processors
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demo
 
Os2 2
Os2 2Os2 2
Os2 2
 
Asynchronous Python A Gentle Introduction
Asynchronous Python A Gentle IntroductionAsynchronous Python A Gentle Introduction
Asynchronous Python A Gentle Introduction
 
Process Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux KernelProcess Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux Kernel
 
Lecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptxLecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptx
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 

More from Dr. C.V. Suresh Babu

Data analytics with R
Data analytics with RData analytics with R
Data analytics with R
Dr. C.V. Suresh Babu
 
Association rules
Association rulesAssociation rules
Association rules
Dr. C.V. Suresh Babu
 
Clustering
ClusteringClustering
Classification
ClassificationClassification
Classification
Dr. C.V. Suresh Babu
 
Blue property assumptions.
Blue property assumptions.Blue property assumptions.
Blue property assumptions.
Dr. C.V. Suresh Babu
 
Introduction to regression
Introduction to regressionIntroduction to regression
Introduction to regression
Dr. C.V. Suresh Babu
 
DART
DARTDART
Mycin
MycinMycin
Expert systems
Expert systemsExpert systems
Expert systems
Dr. C.V. Suresh Babu
 
Dempster shafer theory
Dempster shafer theoryDempster shafer theory
Dempster shafer theory
Dr. C.V. Suresh Babu
 
Bayes network
Bayes networkBayes network
Bayes network
Dr. C.V. Suresh Babu
 
Bayes' theorem
Bayes' theoremBayes' theorem
Bayes' theorem
Dr. C.V. Suresh Babu
 
Knowledge based agents
Knowledge based agentsKnowledge based agents
Knowledge based agents
Dr. C.V. Suresh Babu
 
Rule based system
Rule based systemRule based system
Rule based system
Dr. C.V. Suresh Babu
 
Formal Logic in AI
Formal Logic in AIFormal Logic in AI
Formal Logic in AI
Dr. C.V. Suresh Babu
 
Production based system
Production based systemProduction based system
Production based system
Dr. C.V. Suresh Babu
 
Game playing in AI
Game playing in AIGame playing in AI
Game playing in AI
Dr. C.V. Suresh Babu
 
Diagnosis test of diabetics and hypertension by AI
Diagnosis test of diabetics and hypertension by AIDiagnosis test of diabetics and hypertension by AI
Diagnosis test of diabetics and hypertension by AI
Dr. C.V. Suresh Babu
 
A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”
Dr. C.V. Suresh Babu
 
A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”
Dr. C.V. Suresh Babu
 

More from Dr. C.V. Suresh Babu (20)

Data analytics with R
Data analytics with RData analytics with R
Data analytics with R
 
Association rules
Association rulesAssociation rules
Association rules
 
Clustering
ClusteringClustering
Clustering
 
Classification
ClassificationClassification
Classification
 
Blue property assumptions.
Blue property assumptions.Blue property assumptions.
Blue property assumptions.
 
Introduction to regression
Introduction to regressionIntroduction to regression
Introduction to regression
 
DART
DARTDART
DART
 
Mycin
MycinMycin
Mycin
 
Expert systems
Expert systemsExpert systems
Expert systems
 
Dempster shafer theory
Dempster shafer theoryDempster shafer theory
Dempster shafer theory
 
Bayes network
Bayes networkBayes network
Bayes network
 
Bayes' theorem
Bayes' theoremBayes' theorem
Bayes' theorem
 
Knowledge based agents
Knowledge based agentsKnowledge based agents
Knowledge based agents
 
Rule based system
Rule based systemRule based system
Rule based system
 
Formal Logic in AI
Formal Logic in AIFormal Logic in AI
Formal Logic in AI
 
Production based system
Production based systemProduction based system
Production based system
 
Game playing in AI
Game playing in AIGame playing in AI
Game playing in AI
 
Diagnosis test of diabetics and hypertension by AI
Diagnosis test of diabetics and hypertension by AIDiagnosis test of diabetics and hypertension by AI
Diagnosis test of diabetics and hypertension by AI
 
A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”
 
A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

Shared objects and synchronization

Editor's Notes

  1. BC03 Welcome back. I am Seth Gilbert, postdoc in Rachid’s group. Giving a few lectures when Rachid is out of town. Graduated MIT. My research focuses on distributed algorithms for highly dynamic, rapidly changing systems, such as peer-to-peer networks and wireless networks. Much of my focus recently has been on wireless networks.
  2. First dual core: 2001
  3. Today: new intel computers are all dual-core., I.e., two cores, and they sell 4-core processors. AMD also. Sun T2000 Niagara has 8 cores. Intel prototype: 80 cores (2006) --- within 5 years, by 2011 -- to market. (>1 teraflop trillion ops/second) Important implications for how we write software: no free speedup.
  4. Example: big database search. Very parallel. Little synchronization. But, inserting data into database: can be high contention. Or consider double-ended queue: low contention between push/pop when queue is big; high contention when queue is small.
  5. Easy to fork processes. Hard to synchronize and deal with conflicts.
  6. Goal of today is to explain what we mean by concurrent computing, why it is important, and what we mean by robust.
  7. Unique identifiers make a big difference! Anyone think of a problem that cannot be solved if you do not have unique identifiers?
  8. For example if the operation of p1 is a WRITE operation, and the operation of p2 is a READ operation, then p2 retrieves data from p1.
  9. Two options… Either complete the operation, or erase it all together.