Giter Club home page Giter Club logo

mesos-papi's Introduction

cloud-papi

this project implements a Mesos Executor that adds
papi (performance counter) support to Python, JVM,
R, Ruby, and C/C++ applications running on a Mesos
cluster/cloud.

the implementation uses a fork-exec technique to
attach the papi library to the user's process in
order to collect performance counter data

for python, jvm, r, ruby users, each system's
runtime (interpreter or virtual machine) is embedded
into the executor - this was a requirement in order
to collect accurate performance counter data using
papi's 3rd party, process attachment feature set

papi only supports collection of two counters
worth of data

data is stored using google's log library

users will be able to run the papi mesos executor
by adding a label to a task called 'PAPI' and then
add a space delimited string which enumerates up
to 2 papi performance counters to enable.

cloudpapi.cpp, line 239 provides an enumerative
listing of available performance counters.

-----

container users won't necessarily be able to use
the MesosExecutor. papi will only work when it's
attached to the interpreter's runtime executing
the interpreted program.

to that end, embedded versions of python, jvm, r,
and ruby have been integrated with papi's third
party attach capabilities.

containers desiring papi support will need to add
a papi-enabled version of their respective
interpreter to the container.

-----

Users will need to modify the project Makefile
in order to compile the codes. The following
Makefile variables will need to be modified.

* MESOS_HOME = path to the mesos source tree

* RTSUPPORT = used to select which interpreter(s)
              support to enable

-----

dependencies

  * PAPI http://icl.cs.utk.edu/papi/
  * Python, R, Ruby, Jvm and their respective dependencies

mesos-papi's People

Contributors

ct-clmsn avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

mesos-papi's Issues

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.