Escolar Documentos
Profissional Documentos
Cultura Documentos
Ed Nightingale
Kaushik Veeraraghavan
Peter Chen
Jason Flinn
University of Michigan
Problem
Reliability
Ordering
Durability
Ease of programming
University of Michigan
Solution
External synchrony
Same guarantees as synchronous I/O
Only 8% slower than asynchronous I/O
University of Michigan
Operating
System
Volatile
Cache
Cylinders
University of Michigan
App
App
Disk
OS
Kernel
Scree
n
App
Networ
k
University of Michigan
App
App
Disk
OS
Kernel
Scree
n
App
Networ
k
University of Michigan
University of Michigan
Extern
al
Interna
l
Extern
al
App
App
Disk
OS
Kernel
Scree
n
App
Network
Since application
Application
is internal
external
therefore
we block
no need
on syscall
to block
Rethink the Sync
University of Michigan
University of Michigan
101 write(buf_1);
102 write(buf_2);
103 print(work done);
104 foo();
%
%work
done
%
ProcessTEXT
OS Kernel
University of Michigan
Disk
10
104 foo();
University of Michigan
11
%
%work
done
%
TEXT
Process
OS Kernel
University of Michigan
Disk
12
University of Michigan
13
Process 2
101 write(file1);
102 do_something();
102 read(file1);
103 print(world);
%
%hello
% world
ProcessTEXT
2
Commit
Dep 1
OS Kernel
Process 1
Disk
University of Michigan
14
%
%work
done
%
ProcessTEXT
OS Kernel
University of Michigan
Disk
15
Evaluation
University of Michigan
16
Data durable
on write()
Data durable
on fsync()
Asynchronous
No
Not on
power failure
Synchronous
Not on
power failure
Not on
power failure
Synchronous
w/ write barriers
Yes
Yes
External
synchrony
Yes
Yes
University of Michigan
17
Postmark benchmark
University of Michigan
18
University of Michigan
19
Specweb99 throughput
University of Michigan
20
Specweb99 latency
Request
size
ext3-async
xsyncfs
0-1 KB
0.064 seconds
0.097 seconds
1-10 KB
0.150 second
0.180 seconds
10-100 KB
1.084 seconds
1.094 seconds
10.072
seconds
University of Michigan
21
Conclusion
Questions?
Rethink the Sync
University of Michigan
22