Git Product home page Git Product logo

auction's Introduction

Auction

Note: This repository should be imported as code.cloudfoundry.org/auction.

Reporting issues and requesting features

Please report all issues and feature requests in cloudfoundry/diego-release.

Learn more about Diego and its components at diego-design-notes

The auction package in this repository encodes the details behind Diego's scheduling mechanism. There are two components in Diego that participate in auctions:

  • The Auctioneer is responsible for holding auctions whenever a Task or LongRunningProcess needs to be scheduled.
  • The Rep represents a Diego Cell in the auction by making bids and, if picked as the winner, running the Task or LongRunningProcess.

The Auctioneers run on the Diego "Brain" nodes, and there is only ever one active Auctioneer at a time (determined by acquiring a lock in Locket). There is one Rep running on every Diego Cell.

The Auctioneer communicates with Reps on all Cells when holding an auction.

The Auction Runner

The auctionrunner package provides an ifrit process runner which consumes an incoming stream of requested auction work, batches it up, communicates with the Cell reps, picks winners, and then instructs the Cells to perform the work.

The Simulation

The simulation package contains a Ginkgo test suite that describes a number of scheduling scenarios. The simulation generates comprehensive output to the command line, and an SVG describing, visually, the results of the simulation run.

The simulation spins up a number of in-process SimulationReps. They implement the Rep client interface. This in-process communication mode allows us to isolate the algorithmic details from the communication details. It allows us to iterate on the scoring math and scheduling details quickly and efficiently.

Running on Diego

Instead of running the simulations by running ginkgo locally, you can run the Diego scheduling simulations on a Diego deployment itself! See the Diego Cluster Simulations repository.

auction's People

Contributors

andrew-edgar avatar atulkc avatar caod123 avatar crhino avatar cwlbraa avatar dsabeti avatar ebroberson avatar emalm avatar geofffranks avatar goonzoid avatar heyjcollins avatar hsiliev avatar ivanhristov98 avatar jenspinney avatar jfmyers9 avatar joachimvaldez avatar jrussett avatar julz avatar jvshahid avatar leochu avatar luan avatar mariash avatar nimakaviani avatar onsi avatar pommi avatar sunjaybhatia avatar sykesm avatar tas-runtime-bot avatar vito avatar winkingturtle-vmw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.