aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2025-08-10make tests actually usefulKimplul
+ Apparently quite a few components are currently broken, didn't even remember
2025-08-09formatKimplul
2025-08-09refactor mesh3d to match 2d,1dKimplul
2025-08-09add 1d mesh node and refactor 2d mesh nodeKimplul
+ Seems to decrease performance a little bit, presumably due to extra register copy, but simplifies code a lot and opens up more genericism so I'll consider it an upgrade for now. Copying packets around is rather slow though, might in the future move to some kind of pointer based packet handling
2025-03-04add fat butterflyKimplul
2025-03-02add ideal allocation trackerKimplul
+ Kind of like CHERI, but uses out-of-line pointer information. The idea is that a core that is compatible with ALLOC_IF queries the allocation tracker if an address is legal and gets a response. This ideal tracker effectively has infinite memory and doesn't talk to any other components, but a real implementation might want to limit the allocations per process or chat with some reserved memory region somewhere else in the system to maintain a binary tree or something.
2025-03-02add an idealized NoCKimplul
+ Purely virtual, doesn't exist, but would be 'theoretically' ideal.
2025-02-24overhaul meshesKimplul
+ Previous name was grid
2025-02-233d meshKimplul
2025-02-23initial torus stuffKimplul
+ Not quite deadlock free for 2D/3D for whatever reason
2024-09-26starvation seems to workKimplul
+ With the limitation that a grid node can only attempt one move per clock, which *seems* to be the easiest strategy to implement in hardware, but I should try experimenting with more complex routing/priority assignment schemes to speed up the system overall
2024-09-25somewhat working gridKimplul
+ Starvation is still an issue, but adding a slight bit of randomness seems to help a bit. Also, simulating massive systems like 64x64 is a bit too slow, so scale grid example down to 16x16. 256 cores is still a fair bit, but I might try to think of some optimization methods. I wonder at what point threading becomes faster than just running on a single core? + Test now also sets processor nodes to sleep to avoid starvation issue, seems like an opportunity for a DoS attack if someone can get enough cores to bombard a single node with enough traffic. The riscv64 processor has an initial control interface, very messy code, should probably come up with a more elegant way to deal with sleep/wakeups
2024-09-25technically speaking deadlock free, but starvesKimplul
2024-09-24initial work towards message passing interfaceKimplul
+ As they are currently implemented, grid *may* get stuck if two nodes try to send to eachother at the same time, I should probably add in some kind of input buffer as well
2024-09-22start experimenting with processor gridsKimplul
2023-05-29silence some trivial warningsKimplul
2023-05-15formatKimplul
2023-05-05add async packetsKimplul
2023-05-01update license stuffKimplul
2023-04-30refactor component treeKimplul
2023-04-30initialKimplul