Simulation of interconnect network

I am building a simulator for an interconnect network for a multiprocessor computer. I would like to develop it in Haskell as an opportunity to learn Haskell. The network will have a number of routers with input ports and output ports and crossbars between them. I would like to simulate the protocol. This would be an event driven simulator. It would be at a high level, leaving out many details. I would like it to be fast and be able to run it on several processors. I would like to know if you have any advice. Has anyone done this before? Are there any discrete event simulators written in Haskell? R

2010/2/5 Roger King
I am building a simulator for an interconnect network for a multiprocessor computer. I would like to develop it in Haskell as an opportunity to learn Haskell.
The network will have a number of routers with input ports and output ports and crossbars between them. I would like to simulate the protocol. This would be an event driven simulator. It would be at a high level, leaving out many details. I would like it to be fast and be able to run it on several processors.
Crossbar is certainly easier using lazy lists of events. Like those used in Hawk: http://eprints.kfupm.edu.sa/66296/1/66296.pdf Event-driven approach is good for asynchronous behaviour, like combinatorial logic etc. For single-clock clocked logic (and crossbar is certainly that kind of device) lazy lists are simpler to write and reason about.
I would like to know if you have any advice. Has anyone done this before? Are there any discrete event simulators written in Haskell?
participants (2)
-
Roger King
-
Serguey Zefirov