GithubHelp home page GithubHelp logo

Comments (3)

mcfadden8 avatar mcfadden8 commented on June 13, 2024 1

This is only for the executable file, not libraries.

The loader creates a mapping (via mmap()) to the text/data segments of the executable file in the globally available file (stored in a file system that is shared across all the nodes). The idea is to remap those mappings to the file in the spindle cache (file system local to the node). This way, when those segments are paged in, they will be read from the local file stored locally instead of the shared one.

The implementation of this already exists and is executed when you run with the --debug=yes command line argument. The intention of this ticket is to test this feature further to determine whether we can use it by default.

One of the benefits of doing this is that it will allow readsym() to /proc/<pid>/exe to continue to work for programs that wish to use it.

from spindle.

gpaulsen avatar gpaulsen commented on June 13, 2024

Sorry if this is a silly question:

Won't this cause a lot more memory usage for shared libraries, shared across many processes on the same node? What's the advantage?

from spindle.

mcfadden8 avatar mcfadden8 commented on June 13, 2024

@mplegendre and I discovered that we were able to mmap over the entire text and data segment and /proc/<pid>/exe was preserved. I need to test this again on a TOSS-2 system to see if this is something that may have been fixed with later versions of Linux. Just adding a note here so that I don't forget.

from spindle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.