?????????????(free())?????? - PowerPoint PPT Presentation

About This Presentation
Title:

?????????????(free())??????

Description:

matsu-www.is.titech.ac.jp – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 63
Provided by: 21079
Category:
Tags: free

less

Transcript and Presenter's Notes

Title: ?????????????(free())??????


1
???????????????????????????????
  • ?????? ?????
  • ?? ??

2
????????????????????
  • ????????????????????
  • ???????(???)????????
  • ????????????????????
  • ?????????????(free())??????
  • ???????????????????
  • ????????????????????
  • ???????????????????(GC)???

3
??????????????????????
  • ?????????? ??????????????????????
  • ????????????????????(OS???malloc(), Java
    VM????????)????????
  • ????????
  • ???????100K?/???????
  • GC?????20
  • ????????????? ????????????GC???

?????????? ????????? ???????!
4
?????
  • ????????????????????????????????
  • ????????/GC????????????
  • ????????
  • ??????????(SMP, DSM)???????
  • ????????????
  • (??????????????)
  • http//www.yl.is.s.u-tokyo.ac.jp/gc/

5
?????????(1)
  • ???????? ??????????
  • ???????? ????????????
  • C/C
  • Pthread, Solaris thread??
  • ?????1????1????????
  • ????????????????????????????

SMP ???????????
DSM ??????????
6
?????????(2)
  • Conservative GC????? Boehm et al. 88??????
  • BIBOP(Big-bag-of-pages)?????
  • ????????????????
  • ???????GC
  • ???????????GC??
  • ??????GC
  • ????GC
  • ??????????BIBOP????????????????????

7
?????
  1. ??????????????
  2. ?????????????GC (???)
  3. ??????GC??????
  4. ????GC (???)

8
Part 1??????????????????????
  • (JSPP 2001 ???)

9
?????????????????????(1)
  • ??????????????????????????
  • ??????? ????
  • Libc malloc??????????????

Libc malloc???????
  • SGI Origin 2000
  • 16byte??????????????????malloc??(???????)
  • ???????????????
  • free???????

?? ?
10
?????????????????????(2)
  • ?????/????????????????
  • ???????????????????????????
  • ????????? (?????????)
  • Larson?98 Vee?99 ????????
  • Berger?00 ???????????
  • ???????(DSM)?????????????????

11
??????????????????
  • ??????????????
  • ??????????????????????
  • ????????????m???????????????2m
  • ???(???????????)???

????????????????
m
thread 1 ???
time
m
thread 2 ???
time
???????? ???
??????
???????
????????????? ????
??
12
???????????????
  • ????????
  • ?????????????
  • ??? (????DSM???)
  • ?? ????/????????????????(3?)
  • ?????????????????????????????????????
  • ???????
  • ???????????????????????
  • ????????????????
  • ???????????? ??????????
  • ??????? ???????????????????

13
???????
  • LPS(locality-aware page shared)??
  • BIBOP(big bag of pages)????????????
  • ??????
  • 64?????(R10000 195MHz)?25M malloc/s
  • 1???????36?
  • ?????????????????????????
  • ?????????? (k, 1?k??????) ???

14
BIBOP????????
  • ???????????????????
  • ????????????????????
  • ??????????????
  • ????????????(????)
  • ?????????
  • ???????
  • ??????????????
  • ???????????????
  • ????OS????????/GC

free obj list
free page list
heap
15
????????
threads
  • All Local(AL)??
  • ?????????????
  • ? ????????????
  • ???????
  • Page Shared(PS)??
  • ???????? ??????
  • ????? ??
  • ? ???????
  • ???

free obj list
free page list
OS
All-local(AL)
threads
free obj list
free page list
OS
Page-Shared(PS)
16
???? LPS??
threads
  • Locality-aware Page Shared (LPS)??
  • ????????????? ?????????????
  • 1. ????????????????
  • 2. ??????????????????
  • ??????
  • 3a. ??????????????????????
  • 3b. ???????OS????

free obj list
free page list
OS
(kmax(l))
k?? ? ?????? k?? ? ?????
?????? (????????)
?????????? (PS???????)
17
????
  • ??? DSM??? SGI Origin 2000
  • R10000 195MHz 80
  • Hypercube network
  • ??????16KB
  • ??????????????????????????????????????????????????
    ??(first-touch)
  • ???????????
  • Matmul(???)
  • CKY(?????????)
  • BH(N???)?????
  • C, GC??, StackThreads/MP ?? 99 ??(CKY??)

18
??????????????
  • 16byte??????????????
  • ???????????????
  • free/GC???????

?? ?
  • ?????????????malloc?????
  • AL/LPS????????????
  • 64?????25M?/? (1??????36?, libc 64 ?????54?)

19
????(1) matmul
  • ????????????????
  • ???1?????????????
  • ??????????(????)???
  • AL???????????????????
  • 10001000???????30?

64???????????

?
20
????(2) matmul???
  • LPS/AL?PS??319??

21
????(3) CKY
  • ?????????
  • ????????????????????????
  • ??????????????????????
  • 36100?????200???

64???????????
????????? ??????
??
22
????(4) CKY???
  • AL/PS?????????
  • LPS/AL?PS????5??

23
??
  • ??????????????????
  • ???????????
  • 32??????????????
  • CKY?????????10???????
  • ?????????????????????
  • Matmul??????CKY???????????

?????
16???????????
(IRIX Memory Reference Counter?????)
24
????
  • ?????????????????????????
  • ???94 KLIC???????????????GC
  • Larson?98
  • Vee?99 ???????????????
  • Berger?00 BIBOP,????????
  • Boehm00 BIBOP, ????????????????????????
  • ????DSM??????????

25
Part1????
  • ??BIBOP???????LPS???
  • ????
  • ???????? 64?????36?
  • ???????
  • DSM?????
  • ???????????????????????????????

??????
26
Part 2?????????????GC
  • (SC97, JSSST????98???)

27
??????GC
time
????
???? GC
??GC ????????
Doligez 93??
??????GC
????GC (Part 4)
Halstead 85??
Cheng 01
  • ??????GC??
  • ???????????GC??? ? GC?????
  • GC??GC??? ? ????????????

28
?????????GC(1)
  • GC????????????????
  • ????????????????? ? ???????!
  • ?????????????????????

29
?????????GC(2)
  • ?????????????
  • ????????????? (???????)
  • ??????? ????????????????????(????????????)???
  • ?????????????? ? ?????????????

Lazy task creation Mohr et al. 90???
30
?????????????????
  • ???????????????
  • ?????????????????????
  • DSM???????????????????????

??????
31
????
  • ???
  • Sun Enterprise 10000 SMP
  • Ultra SPARC 250 MHz 64
  • 10GB/s??????????
  • SGI Origin 2000 DSM
  • ?????
  • BH (N???)
  • Cube (Rubiks Cube?????)
  • CKY (?????????) ????

32
???????? BH
60??????????? (Enterprise, BH-pt)
  • Barnes-Hut?????????N????????
  • ????1 ?????????????????????
  • ????2 ??????????? (???O(N log N))
  • ?????????????
  • ??????????????????????
  • 2?????????????
  • ????2?????(BH-st)
  • ? 1??????????
  • ????1,2????(BH-pt)
  • 30,000??20??????
  • ?????? 50MB??

A
?
33
???????? Cube
60??????????? (Enterprise)
  • Rubiks Cube???????
  • ??????????????(???????????)
  • ?????????????????????
  • ?????? 35MB??

???
?????????? ??????????
34
????(1)Enterprise??GC????
  • (??????????/?????)???????
  • ??????????????????
  • 60?????1932??????

35
????(2)Origin??GC????
13?
7?
  • Enterprise?????????
  • Origin????BH-pt?BH-st??????
  • ??????Part3???

36
????
  • ??????GC
  • Halstead et al. 85 ??????
  • Uzuhara 90 Imai et al. 93 ???????????????????
    ??
  • Flood et al. 01 ??????????????Copy
    GC?mark-compact GC????

37
Part2????
  • ????????????????????GC???
  • ???????????????????
  • Enterprise 10000 60?????1932??????
  • Origin 2000 64?????720??????

38
Part 3??????GC??????
  • (??????????????, IPDPS2001???)

39
???????????GC??????
  • Part2????????GC??????
  • SMP/DSM???????????
  • ?????????
  • ???????
  • ????????????????????????
  • GC??????????????????
  • ???????
  • ????????????
  • ????????????(????)

40
????????
  • ??????????????????????
  • ???????????????
  • ?????????????????
  • ??????????????????DSM???

Enterprise 10000 (SMP)
Origin 2000 (DSM)
41
????????(1)
  • ?? GC??????????????
  • ?? P????????GC??????
  • ??????????????????????
  • Live??????????????????????
  • 1????????CPU????????????????
  • CPU?? ? Live??????????
  • ???????? ? ??????????????????????
  • ?????

42
????????(2)
?????????????
???
???
CPU??
T1
TP
????GC??
??????? ?????
????????
Q1
QP
TPM
TPM TP QPMP/P
MVA
??????? ???
MP
M1
???? 4.3.1 ??? TPM TP QPMP ? TPM TP
QPMP / P
  • ??????????????????????
  • ??????/????????TLB???

43
??????????
  • ?????????????????????????????
  • 1/P???????????????
  • ??????????????????
  • ??????????????? (cf. LoPC???Frank et al.97)
  • ??????????????
  • ????????? CPU?Mem?CPU
  • ??????2???????????????
  • ???????????????????????
  • ?????????????????????

44
?????????????
?????
? ??????????? ???????????? ???????????
??????
SL
SO
SL
  • SL ????????SO ??????????????
  • ??????? MP 2 SL SO ??????

????????????
??????????????????????????
????????? DSM????!
45
???????????(1)
????
????
B
B
A
A
PE1
PE1
PE2
PE3
??????????????????????????????????? ? ??????
46
???????????(2)
???? Q1 4
????????
???? QP Q148
???????
????????
??????????
  • ?????????????????
  • QP Q1 (????????) (?????????????)

???????? P log(live-objects)
???????????????
47
???? ????????
BH-st
Cube
E10000 SMP
O2000 DSM
Real Pred (full) Pred (no contention) Pred (no
miss incr.)
  • BH(DSM)?????????????
  • Cube????????????
  • ?????738

48
????
  • LogP???Culler et al. 93
  • latency, overhead, gap(bandwidth), processor
  • LoPC???Vernon et al. 97
  • active message???????????????
  • ??????????????
  • Portable Parallel Memory Frigo 99
  • ?????????????????
  • ?????????? ?underestimate
  • ??????(???? x steal??)????? ?overestimate

49
Part3????
  • ??GC???????????????
  • ??????????????P?????????????
  • ?????????????????????
  • ?????????????(????)
  • ???????????????
  • ?????????????????
  • GC??????????(????)
  • ?????
  • ??????(???????????????????)
  • ?????????????

50
Part 4????GC
51
????GC
  • ??????????????????????GC?????????? ? ??GC?????
  • ????????????????????????????
  • GC?????????????
  • GC?????

????GC
52
???? v.s. ??????
  • ????GC?????
  • ? ???????
  • ?????????????
  • ???/GC???????
  • ? ????????GC?????
  • ? ?????????????

?????????
?????????
53
????GC??????
??????GC
GC cycle
??????
??????
??????
?????? ????GC
GC cycle
  • Mostly parallel GCBoehm 91????
  • ??????
  • Incremental update??????Dijkstra 78????
  • ?????????????????????????

54
??????????
  • ?????????????????GC?????
  • ??????????
  • Incremental update?????????
  • ?????? ????????????
  • ?????? ???????
  • ??? ????????????GC???
  • ??????
  • A ??????????????
  • B ???
  • ?????? (?????????)
  • ???????A?????(????)

55
?????????
  • 2????????????
  • ????????????????
  • ? ??????????
  • ? GC?????????????
  • ????????????????
  • ?????
  • ?????????????????????????????

56
????(1) ????
BH-pt
Cube
CKY
E10K
O2K
  • ??????GC??????GC(VM???)???
  • E10000 8????????????????1.73.2????
  • ????????????????????????????

57
????(2) ????
BH-pt
Cube
CKY
E10K
O2K
  • ????GC???????GC???????????(??1.9?)
  • VM??????????????????????????
  • ???????????????????VM???

58
???????
  • ????????GC?????????????????????????????
  • ????????????????????
  • ???????????????

BH-pt/E10K
CKY/E10K
Cube/E10K
BH-pt/O2K
CKY/O2K
Cube/O2K
59
????
  • ????????GC/??GC
  • Steele 75 Dijkstra 78 Baker 78 Yuasa 90
    Doligez 93
  • GC????????????????
  • ????????????1?????GC????????????
  • ????GC Cheng et al. 01
  • ???????GC??????????????
  • ML???????????????????
  • ? ?????????????????????

60
Part4????
  • ???????????GC???
  • ???????????????????GC???
  • ???????
  • ?????????????????????
  • 2??????????????????
  • ????????????????????????
  • ?????
  • ?????????
  • ???????(Snapshot-at-beginning??)????
  • ????
  • GC???/??????
  • ????????????????

61
??????
  • ????????????????????????????????????
  • ??????????????
  • ????????????????????????? (Part 1)
  • ???????????GC???????GC (Part 2, 4)
  • ?????????????????
  • ????????????? (Part 1)
  • ???????????
  • ?????????????? (Part 1)
  • GC??????? (Part 4)

62
?????????????????
  • ??????????
  • Region analysis
  • ???GC
  • ??????
  • ?????????????GC?????
  • ??????????????
  • Escape analysis ? ????????????/???????????
  • ??????????????????????
  • ????????????????GC??????
  • ?????/???????????

63
  • ??????????
Write a Comment
User Comments (0)
About PowerShow.com