没有合适的资源?快使用搜索试试~ 我知道了~
Memory Efficient Hard Real-Time Garbage Collection by Tobias Rit...
需积分: 10 1 下载量 67 浏览量
2021-04-17
17:33:07
上传
评论
收藏 1.15MB PDF 举报
温馨提示
Building Memory-efficient Java Applications: Practices and Challenges Nick Mitchell, Gary Sevitsky (presenting) IBM TJ Watson Research Center Hawthorne, NY USA Copyright is held by the author/owner(s). ACM SIGPLAN PLDI 2009, Dublin, Ireland
资源推荐
资源详情
资源评论
Link
¨
oping Studies in Science and Technology
Dissertation No. 828
Memory Efficient
Hard Real-Time Garbage Collection
Tobias Ritzau
Department of Computer and Information Science
Link
¨
oping University, SE-581 83 Link
¨
oping, Sweden
Link
¨
oping 2003
Abstract
As the development of hardware progresses, computers are expected to
solve increasingly complex problems. However, solving more complex
problems requires more complex software. To be able to develop these
software systems, new programming languages with new features and
higher abstraction levels are introduced. These features are designed to
ease development, but sometimes they also make the runtime behavior
unpredictable. Such features can not be used in real-time systems.
A feature that traditionally has been unpredictable is garbage collec-
tion. Moreover, even though a garbage collector frees unused memory,
almost all such methods require large amounts of additional memory. Gar-
bage collection relieves developers of the responsibility to reclaim memory
that is no longer used by the application. This is very tedious and error
prone if done manually. Since garbage collection increases productivity
and decreases programming errors, developers find it attractive, also in
the real-time domain.
This thesis presents a predictable garbage collection method, real-time
reference counting, that increases memory efficiency by about 50 % com-
pared to the most memory efficient previously presented predictable gar-
bage collector.
To increase performance, an optimization technique called object own-
ership that eliminates redundant reference count updates is presented. Ob-
ject ownership is designed for reference counters, but can also be used to
increase the performance of other incremental garbage collectors.
Finally, a static garbage collector is presented. The static garbage collec-
tor can allocate objects statically or on the runtime stack, and insert explicit
instructions to reclaim memory allocated on the heap. It makes it possi-
ble to eliminate the need for runtime garbage collection for a large class of
Java applications. The static garbage collection method can also be used
to remove costly synchronization instructions. Competing static garbage
collection methods with reasonable analysis time are restricted to stack al-
location, and thus handle a smaller class of applications.
To the one
who invented
icecream
— I don’t know half of you half as well as I should like;
and I like less than half of you half as well as you deserve.
Bilbo Baggins
Acknowledgments
Jag vill b
¨
orja med att tacka min handledare Peter Fritzson f
¨
or handledning,
st
¨
od och f
¨
or det f
¨
ortroende du har visat mig. Jag vill ocks
˚
a tacka min bi-
handlerade Roger Henriksson f
¨
or alla givande diskussioner vi har haft och
Boris Magnusson f
¨
or inspiration och en arbetsplats.
Ett varmt tack g
˚
ar ocks
˚
a till hela PELAB och till programvarugruppen
vid LTH f
¨
or den otroligt trevliga och inspirerande forskningsmilj
¨
on jag har
f
˚
att vara en del av. Ett speciellt tack vill jag sk
¨
anka till Bodil Mattson-
Kihlstr
¨
om f
¨
or att du har h
˚
allit reda p
˚
a mig.
Jag vill ocks
˚
a tacka G
¨
osta Sundberg, Mathias Hedenborg och Ulf Ced-
erling vid V
¨
axj
¨
o universitet. Det var ni som fick mig att fundera p
˚
a forskar-
studier och de var ni som gjorde det m
¨
ojligt f
¨
or mig att p
˚
ab
¨
orja dem. Ett
extra varmt tack vill jag ge min v
¨
an och arbetskamrat Jesper Andersson.
Hoppas att jag har hj
¨
alpt dig lika mycket som du har hj
¨
alpt mig.
Dessutom vill jag tacka Peter Fritzson, Christoph Kessler och Roger
Henriksson f
¨
or de kommentarer och f
¨
orb
¨
attringar ni har bidragit med efter
att ha l
¨
ast avhandlingen.
Jag vill ocks
˚
a passa p
˚
a att tacka alla de l
¨
arare som under
˚
aren har f
˚
att
mig att vilja l
¨
ara mig mer. Speciellt vill jag tacka Leif Svensson och Bengt-
G
¨
oran Magnusson vid Dalslundsskolan; Tomas Tr
¨
apja, Klas Nilsson och
Bert Konsberg vid Pauliskolan; samt Ulf S
¨
oderberg vid V
¨
axj
¨
o universitet.
Sist och fr
¨
amst vill jag tacka mamma, pappa, Anja, Annette, Atlas,
Medes, Musen, Bamse och ljusstr
˚
alarna Elsa och Axel f
¨
or att ni finns, f
¨
or
att ni st
˚
ar ut med mig och f
¨
or att ni gjort mig till den jag
¨
ar. Och ett sista
varmt tack sk
¨
anker jag till alla mina v
¨
anner.
Frid och lycka!
Tobias Ritzau
Lund, den 22 april 2003
This work has been support by the ECSEL research school, the EC funded JOSES
and HIDOORS projects, the ESA funded AERO project, and V¨axj¨o University.
Contents
1 Introduction 1
1.1 Perspective ............................. 1
1.2 Problem Definition ........................ 2
1.3 Contributions . . ......................... 3
1.4 Thesis Organization ........................ 4
1.5 Publications . . . ......................... 5
2 Real-Time Systems 7
2.1 Definition ............................. 7
2.2 Categorizing Real-Time Systems ................ 8
2.2.1 Interactive Systems .................... 8
2.2.2 Soft Real-Time ....................... 8
2.2.3 Hard Real-Time ...................... 8
2.3 Predictability . . . ......................... 9
2.3.1 Execution Time ...................... 10
2.3.2 Memory Usage ...................... 10
2.4 Scheduling ............................. 11
2.4.1 Cyclic Executive ..................... 12
2.4.2 Pre-emptive Priority Scheduling ............ 12
2.5 Which Systems Are Hard? .................... 14
3 Garbage Collection Techniques 15
3.1 Terminology . . .......................... 16
3.2 Reference Counting ........................ 18
3.2.1 Lazy Reference Counting ................ 20
3.2.2 Cyclic Reference Counting ............... 20
3.2.3 Bobrow’s Approach to Reclaim Cycles ......... 22
3.2.4 Deferred Reference Counting .............. 23
3.3 Mark-and-Sweep ......................... 24
3.3.1 Incremental Mark-and-Sweep .............. 25
3.3.2 Yuasa’s Algorithm .................... 25
3.3.3 Dijkstra’s Algorithm ................... 26
剩余201页未读,继续阅读
资源评论
andyj2ee
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 9a0f3e58cbb2b13855df377b794dc336.jpg
- (源码)基于SpringBoot和Vue的停车场管理系统.zip
- 中国地质大学(武汉)地理信息系统(GIS)考试试题整理.doc
- (源码)基于Redis的内存数据库管理系统.zip
- rv1126-rv1109-add-camera-gc2053-gc4653-②
- C#.NET酒店宾馆客房管理系统源码数据库 SQL2008源码类型 WinForm
- visual-modflow-4.X使用教程.pdf
- 水仙花数的四种实现方式(C/Java/Python/JavaScript)
- (源码)基于TensorflowLite的AI狗识别系统.zip
- (源码)基于Qt框架的3D点云与模型可视化系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功