SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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: liangyu@ccs.neu.edu                     Email: gong.xi@ece.neu.edu
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	
  file	
  descriptors	
  
•      signal	
  status	
  
•      mutexes	
  
•      process	
  envrionment	
  
How implemented in Linux
     and some Unix
But when it comes
 to Mac OS X ...
In Mac
Distinction in Some Commands
In Mac
Distinction in System Construction
WHAT SHOULD WE DO?
Option One :
How to Construct a Linux-like
Procfs in Mac OS X:
•  Is	
  MacFUSE	
  the	
  perfect	
  solu2on	
  for	
  us?	
  

•  MacFUSE	
  is	
  a	
  Mac	
  OS	
  X	
  implementa2on	
  	
  
	
  	
  	
  	
  	
  of	
  the	
  FUSE	
  (File	
  System	
  in	
  User	
  Space)	
  	
  
	
  	
  	
  	
  	
  mechanism.
We feel less hope,
then we try another method.
Then, we roll back to the previous
problem, thinking an alternative.
Option Two:
The VMA of a Process
in Details
A Demo
•  Find the Memory Range for the stack
Different mechanisms when it
comes the memory boundary
•  Signal	
  Func2on	
  

•  Sigac2on	
  Func2on	
  
	
  	
  	
  	
  -­‐-­‐	
  If	
  you	
  use	
  a	
  global	
  variable	
  to	
  flag	
  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.	
  
Quick Video Demo – Find Heap
Probing the Libraries
•  Considerably	
  Complicated	
  

•  Right	
  now,	
  we	
  choose	
  “libc”	
  as	
  a	
  beginning,	
  
	
  	
  	
  	
  and	
  we	
  make	
  it.	
  
What discovered during the work



        VS	
  
Enhanced Access() Usage
Result of Enhanced Access()
FUTURE WORK …
•  Using	
  access()	
  call	
  to	
  replace	
  sigac2on()	
  call	
  successes	
  
                 in	
  Linux,	
  but	
  crashes	
  on	
  Mac,	
  need	
  
	
  	
  	
  	
  to	
  figure	
  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	
  find	
  the	
  memory	
  range	
  of	
  libc,	
  
	
  	
  	
  	
  con2nued	
  work	
  is	
  needed	
  to	
  find	
  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.	
  

Mais conteúdo relacionado

Mais procurados

An Overview of Distributed Debugging
An Overview of Distributed DebuggingAn Overview of Distributed Debugging
An Overview of Distributed DebuggingAnant Narayanan
 
Spring sim 2010-riley
Spring sim 2010-rileySpring sim 2010-riley
Spring sim 2010-rileySopna Sumāto
 
Capturando pacotes de rede no kernelspace
Capturando pacotes de rede no kernelspaceCapturando pacotes de rede no kernelspace
Capturando pacotes de rede no kernelspaceCampus Party Brasil
 
Network Simulation
Network SimulationNetwork Simulation
Network Simulationlohch3
 
Beyond Text - Methods as Objects
Beyond Text - Methods as ObjectsBeyond Text - Methods as Objects
Beyond Text - Methods as ObjectsMarcus Denker
 
Migration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming ModelsMigration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming ModelsZvi Avraham
 
Inter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XInter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XHEM DUTT
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Ravindra Raju Kolahalam
 
Interprocess communication
Interprocess communicationInterprocess communication
Interprocess communicationSushil Singh
 
Distributed file systems (from Google)
Distributed file systems (from Google)Distributed file systems (from Google)
Distributed file systems (from Google)Sri Prasanna
 
Google Spanner : our understanding of concepts and implications
Google Spanner : our understanding of concepts and implicationsGoogle Spanner : our understanding of concepts and implications
Google Spanner : our understanding of concepts and implicationsHarisankar H
 
Threads and multi threading
Threads and multi threadingThreads and multi threading
Threads and multi threadingAntonio Cesarano
 
ITFT_Inter process communication
ITFT_Inter process communicationITFT_Inter process communication
ITFT_Inter process communicationSneh Prabha
 
Ground to ns3 - Basic wireless topology implementation
Ground to ns3 - Basic wireless topology implementationGround to ns3 - Basic wireless topology implementation
Ground to ns3 - Basic wireless topology implementationJawad Khan
 

Mais procurados (20)

An Overview of Distributed Debugging
An Overview of Distributed DebuggingAn Overview of Distributed Debugging
An Overview of Distributed Debugging
 
Ns3
Ns3Ns3
Ns3
 
Spring sim 2010-riley
Spring sim 2010-rileySpring sim 2010-riley
Spring sim 2010-riley
 
IPC
IPCIPC
IPC
 
ns-3 Tutorial
ns-3 Tutorialns-3 Tutorial
ns-3 Tutorial
 
Lec1 Intro
Lec1 IntroLec1 Intro
Lec1 Intro
 
Ns2
Ns2Ns2
Ns2
 
Capturando pacotes de rede no kernelspace
Capturando pacotes de rede no kernelspaceCapturando pacotes de rede no kernelspace
Capturando pacotes de rede no kernelspace
 
Network Simulation
Network SimulationNetwork Simulation
Network Simulation
 
Beyond Text - Methods as Objects
Beyond Text - Methods as ObjectsBeyond Text - Methods as Objects
Beyond Text - Methods as Objects
 
Migration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming ModelsMigration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming Models
 
Inter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XInter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS X
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
 
Interprocess communication
Interprocess communicationInterprocess communication
Interprocess communication
 
Distributed file systems (from Google)
Distributed file systems (from Google)Distributed file systems (from Google)
Distributed file systems (from Google)
 
Google Spanner : our understanding of concepts and implications
Google Spanner : our understanding of concepts and implicationsGoogle Spanner : our understanding of concepts and implications
Google Spanner : our understanding of concepts and implications
 
Threads and multi threading
Threads and multi threadingThreads and multi threading
Threads and multi threading
 
IPC
IPCIPC
IPC
 
ITFT_Inter process communication
ITFT_Inter process communicationITFT_Inter process communication
ITFT_Inter process communication
 
Ground to ns3 - Basic wireless topology implementation
Ground to ns3 - Basic wireless topology implementationGround to ns3 - Basic wireless topology implementation
Ground to ns3 - Basic wireless topology implementation
 

Semelhante a Porting dmtcp mac_slides

Introduction to Big Data
Introduction to Big DataIntroduction to Big Data
Introduction to Big DataAlbert Bifet
 
The Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of ProtocolsThe Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of ProtocolsOpen Networking Summits
 
Scalability20140226
Scalability20140226Scalability20140226
Scalability20140226Nick Kypreos
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudyJohn Adams
 
Network architecure (3).pptx
Network architecure (3).pptxNetwork architecure (3).pptx
Network architecure (3).pptxKaythry P
 
Deep_Learning_Frameworks_CNTK_PyTorch
Deep_Learning_Frameworks_CNTK_PyTorchDeep_Learning_Frameworks_CNTK_PyTorch
Deep_Learning_Frameworks_CNTK_PyTorchSubhashis Hazarika
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Christopher Curtin
 
Dc lec-06 & 07 (osi model)
Dc lec-06 & 07 (osi model)Dc lec-06 & 07 (osi model)
Dc lec-06 & 07 (osi model)diaryinc
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systemsop205
 
The Power of Determinism in Database Systems
The Power of Determinism in Database SystemsThe Power of Determinism in Database Systems
The Power of Determinism in Database SystemsDaniel Abadi
 
Processes and Threads in Windows Vista
Processes and Threads in Windows VistaProcesses and Threads in Windows Vista
Processes and Threads in Windows VistaTrinh Phuc Tho
 
Fixing twitter
Fixing twitterFixing twitter
Fixing twitterRoger Xia
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...smallerror
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...xlight
 
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...confluent
 

Semelhante a Porting dmtcp mac_slides (20)

Introduction to Big Data
Introduction to Big DataIntroduction to Big Data
Introduction to Big Data
 
The Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of ProtocolsThe Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of Protocols
 
Scalability20140226
Scalability20140226Scalability20140226
Scalability20140226
 
Oldhabits
OldhabitsOldhabits
Oldhabits
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
Network architecure (3).pptx
Network architecure (3).pptxNetwork architecure (3).pptx
Network architecure (3).pptx
 
Deep_Learning_Frameworks_CNTK_PyTorch
Deep_Learning_Frameworks_CNTK_PyTorchDeep_Learning_Frameworks_CNTK_PyTorch
Deep_Learning_Frameworks_CNTK_PyTorch
 
Outsourced database
Outsourced databaseOutsourced database
Outsourced database
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
 
Outsourced database
Outsourced databaseOutsourced database
Outsourced database
 
Dc lec-06 & 07 (osi model)
Dc lec-06 & 07 (osi model)Dc lec-06 & 07 (osi model)
Dc lec-06 & 07 (osi model)
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systems
 
The Power of Determinism in Database Systems
The Power of Determinism in Database SystemsThe Power of Determinism in Database Systems
The Power of Determinism in Database Systems
 
Processes and Threads in Windows Vista
Processes and Threads in Windows VistaProcesses and Threads in Windows Vista
Processes and Threads in Windows Vista
 
Fixing twitter
Fixing twitterFixing twitter
Fixing twitter
 
Fixing_Twitter
Fixing_TwitterFixing_Twitter
Fixing_Twitter
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
 
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
 
Thread
ThreadThread
Thread
 

Último

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Porting dmtcp mac_slides

  • 1. 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: liangyu@ccs.neu.edu Email: gong.xi@ece.neu.edu
  • 2. 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/  
  • 3. Why porting to Mac •  Mac  is  used  extensively   •  No  DMTCP  in  Mac  recently  
  • 4. How to do that? What  informa2on  of  a  process  we     should  pay  aCen2on  to:     •  libraries   •  data   •  stack   •  heap   •  threads   •  open  file  descriptors   •  signal  status   •  mutexes   •  process  envrionment  
  • 5. How implemented in Linux and some Unix
  • 6. But when it comes to Mac OS X ...
  • 7. In Mac Distinction in Some Commands
  • 8. In Mac Distinction in System Construction
  • 11. How to Construct a Linux-like Procfs in Mac OS X: •  Is  MacFUSE  the  perfect  solu2on  for  us?   •  MacFUSE  is  a  Mac  OS  X  implementa2on              of  the  FUSE  (File  System  in  User  Space)              mechanism.
  • 12. We feel less hope, then we try another method.
  • 13. Then, we roll back to the previous problem, thinking an alternative.
  • 15. The VMA of a Process in Details
  • 16. A Demo •  Find the Memory Range for the stack
  • 17. Different mechanisms when it comes the memory boundary •  Signal  Func2on   •  Sigac2on  Func2on          -­‐-­‐  If  you  use  a  global  variable  to  flag  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.  
  • 18. Quick Video Demo – Find Heap
  • 19. Probing the Libraries •  Considerably  Complicated   •  Right  now,  we  choose  “libc”  as  a  beginning,          and  we  make  it.  
  • 20. What discovered during the work VS  
  • 22. Result of Enhanced Access()
  • 24. •  Using  access()  call  to  replace  sigac2on()  call  successes   in  Linux,  but  crashes  on  Mac,  need          to  figure  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  find  the  memory  range  of  libc,          con2nued  work  is  needed  to  find  other  libs,          if  existed.       •  The  access  right  of  each  memory  segment  is            is  also  unknown.  
  • 25. 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.