Title: GXP
1GXPPhoenix????????????
- ????
- ????? ?????
- (???????)
2?????
3????????????
4??
- PC?????
- ???????????
- ? ?????????????
- ?????????????????????
- ??????????????????PC
5?????????
6?????????
- ???LAN????? ??????????
- ?????????
- ?????????
- ??????????
- ?????????NAT
7?????????
8?????????
- ??????
- ????????????
- P2P????
9??????????
- GXP??????????
- ???????????????
- ???????????????????
- Phoenix??????????????
- ??????????????????
10GXP
11GXP??
- ??????????
- ??????????????????????
request0 request1 request2 request3
???????????
??????
12????
- ??????
- 1000CPU????????
350CPU??????? - ?????????????????
- ????????????
- 9??LAN?????1000CPU???
13GXP???????
- ????????
- ?????????
- ?????????
14????????
gt hostname host0 host1 host2
???????
host0
host1
host2
15????????
NAT
???????
NAT
???????
16?????????
???????
cmd1
cmd3
cmd2
cmd2
cmd2
17?????????????
- ????????
- ??????? ?? ?????
- ??????
- cat X cat gt Y
18?????????
- ??????????????? GXP????????????
- ?????????????????????
??????????????? ??????
19???
- GXP
- ????????
- ?????????
- ?????????
- ? ????????????? ??????????
20Phoenix
21Phoenix??
- ???????????????
- ??????????????????
- ????????????
22Phoenix????
- ????????PC?????????
- LU??????????????
- P2P???????
- ?????????????
23??????????????????
- ?)MPI
- ????????ID???
- ???ID?????????????
x
send x to 2
recv
???ID
0
1
2
3
24?????????
- ??
- ?????????????????????????????????????
- ?)????????????????????????????
- ???
- ???????????????????????????????????????
25Phoenix???????????????
- ??????ID??????????
- ???ID???????????????
- ???ID? gt ???????????
???ID
0
1
2
3
26???????? (1/3)
- ?????????ID???????
- ?????????ID???????????
??
27???????? (2/3)
???600?????? x ??????
???ID600??? x ???
768
28???????? (3/3)
- ???ID?????????????????????
768
29???
- Phoenix
- ????????????????? ???????????????
30????????
- ???????????????
- GXP
- Phoenix
- ???????????????
31?
- ??????????????
??????????????
32????
33??????????
- ?? ???(???)
- ?? ??(??)
- ?? ??(??)
- ?? ??(D3)
- ??? ??(D1)
- ?? ??(M2)
- ?? ??(M2)
- ?? ??(M1)
- ?? ?(M1)
34???????Web???
-
- http//www.logos.ic.i.u-tokyo.ac.jp/phoenix/
- ????????????????
35GXP???
- Ssh???????????????
- ???????????????????????????
36Phoenix?????API
- ??????????
- ph_send(id, msg)
- ph_recv()
- ???ID???????
- ph_assume(ids)
- ph_release(ids)
37Phoenix???
- ???ID?????????????
- ???????????????
- C.f.) ??????
38Phoenix?????
??????
??????
???
???
39(No Transcript)
40??
- ????????????
- ??????????????????
- ? ??????????????????? ??????????
41??
- Single System Image (SSI)???
- ??????????????
- ???????????
42SSI?????????????
- ??OS
- ?)Mosix A. Barak et al. 98
- ??????????
- ?)Score Y. Ishikawa et al. 99
43????????????
- ??????
- ?????????????????????
- ??????????????????
44???????????
- ???????????????????
- ???????? ???????????????????????????????????
45??????Virtual Multiprocessor
- ????????????
SMP?????????????????
N??????????????
???
N???????????SMP
46?? (1/2)
- ??????????????????? ????????????
- OS
- Linux???????OS???????
- (????????)???????
- ????????????????
- make????????????????
47?? (2/2)
- ????????
- ????????????????
- ???????????????????
48????????
49??
50???????
- ??????????????
- ????????????????? ??????????
???????
???????
?????
?????
????
????
???
???
????
????
51???????SMP
?????
?????
????
??SMP
???
???????
???????
?????
?????
????
????
???
???
????
????
52???????SMP
?????
?????
????
??SMP
???
???????
???????
?????
?????
????
????
???
???
????
????
53???????SMP
?????
?????
????
??SMP
???
???????
???????
?????
?????
????
????
???
???
????
????
54???????SMP
?????
?????
??SMP
????
???
???????
???????
?????
?????
????
????
???
???
????
????
55???????????OS
- ???????????
- ??????IA-32???
- OS?Linux???
- ????????????????????OS????????
- C.f.) LilyVM H. Eiraku et al. 03
56??
57??????????????
- ?????LilyVM H. Eiraku et al. 03???
???OS?Native??
VM????
?????
?????
???????
????????????????
58????????????
lgdtl 0xa01002c2
???????(GDTR??????????)
??????
VM????
???????
???????????
???????
?????????????????GDTR?????????
59???????????????
- ?????
- ?????
- ???
- ?????????????????
- I/O????
- ???????????????????
60???????????
- ????????????????? ????????????????
- IA-32?????????????
61IA-32???????
- ???????????????????
- Processor consistency
- Write atomicity
- ???????
- ????????????????
62Processor Consistency (1/2)
- ????????????????,
- ?????????,????????
- ??????????,?????????
PU1
PU2
write X to p
??????
read from p
read from p
read from p
63Processor Consistency (2/2)
- ????????????????,
????????????????????
PU1
PU2
PU3
write X to p
write Y to q
write Z to r
64Write Atomicity
- ???????????????atomic? ?????
PU1
PU2
PU3
write X to p
(????p????)?????,???? ?????
65????
- ??????????????
- ?) mfence??
- ?????????????????????????
PU1
PU2
PU3
write X to p
write Y to q
mfence
66Processor Consistency????????????????
- mfence??????,??????? ??????????????
PU1
PU2
Write X to p
Write Y to q
p, q, r???????????
Write Z to r
?????????
mfence
67?????????????? (1/3)
- ????????????????
PC1
PC2
Memory
Memory
Write X to p Write Y to q Write Z to r mfence
68?????????????? (2/3)
- ???????????????
- ?????????( twin)?????
- ????????????????
PC1
PC2
Memory
Twins
Memory
Write X to p Write Y to q Write Z to r mfence
p
X
q
Y
r
Z
69?????????????? (3/3)
- mfence?????????,
- twin????????????diff?????
- diff?????????????
PC1
PC2
Memory
Twins
Memory
Write X to p Write Y to q Write Z to r mfence
p
q
r
70????
71????
- ?????
- ???????????????????????
- ???????????????????????
- ???
- ???????????
- ???????????Naïve???
72???????????????????????
- getpid() ?1000?????????????
- ??????????????
- ?)Operating System Support for Virtual Machines
- Samuel T. King, George W. Dunlap, Peter M. Chen
- USENIX03
????(???)
????? 0.54
???? 0.00098
73???????????????????????
- ??????????????????2??????
????(???)
????? 0.63
???? 0.00027
74?????????????
75????
- ?????????????????? ????????????????
- vNUMA M. Chapman05
- Virtual IronTM http//www.virtualiron.com
??????
?????????sequential consistency
76???
- Virtual Multiprocessor
- ??????SMP????????? ????????
- Single System Image???
77?????
- ????
- ????
- ???????????
- ???????????
78?