Document 7283788

Download Report

Transcript Document 7283788

RPS Notes and RPS/REMOS
Relational Schema
Peter A. Dinda
RPS Toolkit
• Extensible toolkit for implementing
resource signal prediction systems
• Easy “buy-in” for users
• C++ and sockets (no threads)
• Prebuilt prediction components
• Libraries (sensors, time series, communication)
• Users have bought in
• Incorporated in CMU Remos, BBN QuO
• Various research users
http://www.cs.northwestern.edu/~pdinda/RPS.html
Conceptual Model of an RPS-based System
Application
Nominal time, slack,
confidence, host list
Host, running time
estimate
Real-time Scheduling Advisor
Nominal time
confidence, host
Running time estimate
(confidence interval)
Library
Running Time Advisor
Load Prediction
Request
Load Prediction
Response
Host Load Prediction System
Measurement Stream
Daemon
(one per host)
Host Load Measurement System
RPS components can be composed in other ways
Common Configuration
predclient
predbufferclient
(4, 12+w(56+16m))
56+16m
predbuffer
56+16m
predserver_core
predserver
Get sequence
(4, 12+28s)
56+16m
Refit model
(52, 56)
28
28
measurebuffer
28
Req/Resp
Stream
(12, 20)
measurebufferclient
Get sequence
(4, 12+28s)
load2measure
52
Change rate
evalfit
loadserver
52
loadclient
Queries and Data Models for
Prediction and Measurement
In RPS and Remos
Peter A. Dinda
Remos Meeting 3/9/99
Measurement/Prediction Queries
• “Where can I find a load measurement stream for the host
firenze?”
– source:tcp:firenze:5000, source:udp:239.99.99.99:5000
• “Give me the latest prediction server implementation for
ALPHA DUX 3.2”
– blob(executable)
• “Where can I find a prediction buffer for the underlying
load measurement stream “firenze””?
– requestresponse:tcp:pyramid:8193
Resource Queries
• “I need 1 to 4 machines, all the same OS
and arch, with a combined memory of 1
GB”
– (mojave),(sahara),((poconos,pyramid,foo),(man
ch1,2,3,4), etc)
• ...
Database Schema
benchmarks
BT numproc mhz arch os osv mem vmem dasd perf perfblob note UR
hostdata
ip numproc mhz arch os osv mem vmem dasd loc user note UR
hosts
ip name
modules
mid mt dsid note
datasources
moduleexecs
dsid dst
mt arch os minosv ver execblob note
flowssources
endpoints
dsid ip1 ip2
mid epid
nodesource
dsid ip
endpointdata
epid ct ip port fn note
UR
UR
Query Example
[pdinda@firenze ~]$ find_hosts_mem.pl
find_hosts_mem.pl minmem maxmem minnum maxnum limit [samearchos]
[pdinda@firenze ~]$ find_hosts_mem.pl 512 1024 1 3 5
1 Host solutions
select host1.name, hd1.arch, hd1.os, hd1.mem as TotalMem
hd1.mem <= 1024 order by TotalMem desc limit 5
+------------------------+-------+-----+----------+
| name
| arch | os | TotalMem |
+------------------------+-------+-----+----------+
| mojave.cmcl.cs.cmu.edu | ALPHA | DUX | 1024.00 |
| sahara.cmcl.cs.cmu.edu | ALPHA | DUX | 1024.00 |
+------------------------+-------+-----+----------+
from
hosts as host1, hostdata as hd1 where
2 Host solutions
select host1.name, hd1.arch, hd1.os, host2.name, hd2.arch, hd2.os, hd1.mem+ hd2.mem as TotalMem from
host2, hostdata as hd2 where host1.ip=hd1.ip and host2.ip=hd2.ip and hd1.mem + hd2.mem >= 512 and
host2.ip order by
TotalMem desc limit 5
+---------------------------+-------+-------+---------------------------+-------+-------+----------+
| name
| arch | os
| name
| arch | os
| TotalMem |
+---------------------------+-------+-------+---------------------------+-------+-------+----------+
| poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
| firenze.cmcl.cs.cmu.edu
| I386 | LINUX |
512.00 |
| poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
| INNUENDO.TRUST.CS.CMU.EDU | I386 | LINUX |
512.00 |
| poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
| pyramid.cmcl.cs.cmu.edu
| ALPHA | DUX
|
512.00 |
| firenze.cmcl.cs.cmu.edu
| I386 | LINUX | poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
|
512.00 |
| INNUENDO.TRUST.CS.CMU.EDU | I386 | LINUX | poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
|
512.00 |
+---------------------------+-------+-------+---------------------------+-------+-------+----------+
host1.ip=hd1.ip and
hd1.mem >= 512
and
hosts as host1, hostdata as hd1, hosts as
hd1.mem + hd2.mem <= 1024 and host1.ip !=
3 Host solutions
select host1.name, hd1.arch, hd1.os, host2.name, hd2.arch, hd2.os, host3.name, hd3.arch, hd3.os, hd1.mem+ hd2.mem+ hd3.mem as TotalMem from hosts
as host1, hostdata as hd1, hosts as host2, hostdata as hd2, hosts as host3, hostdata as hd3 where host1.ip=hd1.ip and host2.ip=hd2.ip and
host3.ip=hd3.ip and hd1.mem + hd2.mem + hd3.mem >= 512 and hd1.mem + hd2.mem + hd3.mem <= 1024 and host1.ip != host2.ip and host1.ip !=
host3.ip and host2.ip != host3.ip order by TotalMem desc limit 5
+---------------------------+-------+-------+---------------------------+-------+-------+---------------------------+------+-------+----------+
| name
| arch | os
| name
| arch | os
| name
| arch | os
| TotalMem |
+---------------------------+-------+-------+---------------------------+-------+-------+---------------------------+------+-------+----------+
| poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
| INNUENDO.TRUST.CS.CMU.EDU | I386 | LINUX | firenze.cmcl.cs.cmu.edu
| I386 | LINUX |
640.00 |
| poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
| pyramid.cmcl.cs.cmu.edu
| ALPHA | DUX
| firenze.cmcl.cs.cmu.edu
| I386 | LINUX |
640.00 |
| INNUENDO.TRUST.CS.CMU.EDU | I386 | LINUX | poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
| firenze.cmcl.cs.cmu.edu
| I386 | LINUX |
640.00 |
| pyramid.cmcl.cs.cmu.edu
| ALPHA | DUX
| poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
| firenze.cmcl.cs.cmu.edu
| I386 | LINUX |
640.00 |
| poconos.cmcl.cs.cmu.edu
| ALPHA | DUX
| firenze.cmcl.cs.cmu.edu
| I386 | LINUX | INNUENDO.TRUST.CS.CMU.EDU | I386 | LINUX |
640.00 |
+---------------------------+-------+-------+---------------------------+-------+-------+---------------------------+------+-------+----------+