redcloud

所属分类:WEB开发
开发工具:Ruby
文件大小:5KB
下载次数:0
上传日期:2014-02-23 05:10:56
上 传 者sh-1993
说明:  使用混合自动机的动态网络和请求速率的连续变量等来模拟数据中心。
(Simulation of data centers using dynamic networks of hybrid automata and continuous variables for request rates etc.)

文件列表:
LICENSE (1297, 2014-02-23)
Rakefile (1367, 2014-02-23)
example (0, 2014-02-23)
example\simple.rb (1517, 2014-02-23)
lib (0, 2014-02-23)
lib\redcloud (0, 2014-02-23)
lib\redcloud\version.rb (38, 2014-02-23)
redcloud.gemspec (957, 2014-02-23)

RedCloud ======== Simulation of data centers using dynamic networks of hybrid automata and continuous variables for request rates etc. Installation ------------ To install as a gem: gem install redcloud Applications ------------ Potential applications include: * Capacity planning: long-term predictions of datacenter resource requirements. * Dynamic scaling: short-term predictions; using current observations of requests coming into the system and the resource load of the system, predict the need to spin up (or down) additional computing and storage resources. * Failure mode analysis: what kind of input spikes or component failures can lead to overall service degradation or system failure? Implementation -------------- RedCloud is based on [RedShift](https://github.com/vjoel/redshift), a simulation framework for dynamic networks of hybrid automata. RedShift is a dataflow programming language like Simulink, but with dynamic reconfiguration. RedShift generates fast C code from specifications written in a Ruby DSL. Features include discrete events and transitions, queues with Erlang-like pattern matching, synchronous and asynchronous composition of state machines, continuous variables governed by differential and algebraic equations, delay and differentiation, dynamic creation and connection of components, and dynamic reconfiguration of the connections (continuous and discrete) between components. The dynamic features are what make RedShift more than an open-source Simulink. Simulations based on RedShift run in a single thread, in a single process, and are deterministic (results do not depend on internal arbitrary details such as the order in which components are traversed). RedShift also provides compile-on-demand hooks that can be used for logging, debugging, measurement, and intergration with other software. In principle, this means that RedCloud could be integrated into an actual data center, receiving inputs in real time, stepping the simulation, and sending outputs to control the production system. RedCloud models computing infrastructure and events at a very high level of abstraction: there are no individual packets or bytes, there are no messages (or maybe just exceptional messages, such as control instructions, which can be modeled using RedShift's queues). Instead, we just use continuous variables to represent the rate of message arrival, or transaction requests, or HTTP requests, or .... Also, we use continuous variables to represent resources at a very abstract level: usage of CPU resources over time, for example. The challenge of abstract modeling is how to capture the behavior of complex systems in terms of a few states and rules, and how to know what details can be safely omitted. The payoff is that a more abstract model is usually easier to calibrate and faster to simulate. Example ------- A very simple example showing what RedCloud is trying to do is [example/simple.rb](example/simple.rb). Contact ======= Joel VanderWerf, vjoel@users.sourceforge.net, @JoelVanderWerf. License and Copyright ======== Copyright (c) 2014, Joel VanderWerf License for this project is BSD. See the LICENSE file for the standard BSD license.

近期下载者

相关文件


收藏者