Porting DMTCP to Mac OS X Liang Yu Xiang Gong College of Computer and Information Science College of Electrical and Computer Engineering Northeastern University Northeastern University Boston MA 02215 Boston MA 02215 Email: email@example.com Email: firstname.lastname@example.org
What is the DMTCP?• DMTCP (Distributed Mul2Threaded Checkpoin2ng) • A tool to transparently checkpoint the state of mul2ple simultaneous applica2ons, including mul2-‐ threaded and distributed applica2ons. • hCp://dmtcp.sourceforge.net/
Why porting to Mac• Mac is used extensively • No DMTCP in Mac recently
How to do that?What informa2on of a process we should pay aCen2on to: • libraries • data • stack • heap • threads • open ﬁle descriptors • signal status • mutexes • process envrionment
Different mechanisms when itcomes the memory boundary• Signal Func2on • Sigac2on Func2on -‐-‐ If you use a global variable to ﬂag a signal from a signal-‐handler func2on, it should be of the special type sig_atomic_t. • System Call Abuse -‐-‐ e.g. access() system call.
• Using access() call to replace sigac2on() call successes in Linux, but crashes on Mac, need to ﬁgure out. • Enhanced Access() can only get all the valid addresses in a vague way, without showing which does a segment of memory address should belongs to. • We can only ﬁnd the memory range of libc, con2nued work is needed to ﬁnd other libs, if existed. • The access right of each memory segment is is also unknown.
Acknowledgments• We would like to thank Prof. Gene Cooperman for every instruc2ons he gave to us and for the research spirit he conveyed to us. • We would like to acknowledge Kapil and Vlad, for the system knowledge they taught us. • Finally, I’d like to thank Mr. Rick, a classmate in my another course, for introducing me such a wonderful tool to depict the sketch.