wtangiit / qsim Goto Github PK
View Code? Open in Web Editor NEWevent-driven job scheduling simulator for Cobalt
License: Other
event-driven job scheduling simulator for Cobalt
License: Other
change bqsim and cqsim to be derived from qsim_base class for the convenience of further development.
att
in coscheduling simulation, two workload from different machine should be able to match in the same time span.
for further statistics.
one pair per line
using "hold" scheme on both machine may cause dead lock. two way to prevent:
Spatial way (sys util restrict)
Allow only x% of total nodes to be holden. job that may cause over holding will become yielding job.
Temporal way (temp yielding)
To prevent deadlock, add a hold threshold, if a job hold more than THRESH hours, give up the resources for a scheduling iteration to allow other job to use the resource. (if no other job take the resource, it will hold again). This way will also benefit for the scenario that holding a sub-partition blocks a large job for a long time even without any backfilling.
show on the screen general workload information (such total job numbers) and feature configuration (such as schemes of walltime prediction, walltime-aware job allocation, or coscheduling)
completely prevent deadlock and increase system utilization rate for "hold" scheme in coscheduling
adjust interval of job arrivals to make heavier or lighter workload
For example, while intrepid can use 'yield', eureka can use 'hold'.
job runtime should be dynamically adjusted according to I/O status
display percentage of mate job pairs that start at same time
if yield time exceeds the threshold, the job can hold until it can run
input: utilization rate, time span
action: adjust job arrival intervals (Or job runtimes)
output: workload that has specified average utilization rate within the time span.
in batch execution mode, the print_screen will not be executed.
currently two schemes: hold and yield. implemented as algorithm 2 and 1 in issue #2
a scheduled job holds or yields resource if mate cannot run.
merge two screens for bqsim and cqsim into a single one.
Currently making mate jobs is based on job trace. Iit is not accurate when workload is tuned.
given a proportion, make number of job pairs that conform to the proportion among the total jobs
(used for coscheduling simulation)
make some change in bgsched.py for coscheduling needs.
a line of the trace looks like:
jobid=xxx;qtime=xxx;nodes=xxx;walltime=xxx;runtime=xxx
wasted node hours for holding
wasted waiting time for yielding
jobs with qtime between the start and end point will be "submitted" in the simulation. other jobs in the job trace are truncated.
amount of I/O data (MB)
File type: N/1, N/N, N/M
historical I/O time (ratio of I/O time to total runtime)
att
code change in bqsim init_mate_qtime_pair()
check running jobs periodically and log I/O usage info based on running jobs I/O request
-P xyz (x,y,z=0|1), x: queuing job, y: backfilling job, z:running job
change components/evsim.py to components/qsim.py
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.