Demikernel v1.4 (Stable Catloop LibOS)
Pre-release
Pre-release
What's Changed
- [build] Wrong Build Dependencies by @ppenna in #809
- [scheduler] Improve tests by @anandbonde in #802
- [build] Increase Build Timeout by @ppenna in #814
- [build] Build Warnings by @ppenna in #813
- [catloop] Inconsistent Port Allocation by @ppenna in #811
- [inetstack] Non Ephemeral Port May Get Released by @ppenna in #810
- [ci] Enable tcp-echo Catloop LibOS by @ppenna in #817
- [scheduler] Several scope, readability and test improvements by @anandbonde in #819
- [catloop] Drop Trait Implementation by @ppenna in #815
- [catloop] Always Bound Read from Control Duplex Pipe by @iyzhang in #836
- [catloop] Close new duplex pipe when not MAGIC_CONNECT by @iyzhang in #837
- [scheduler] Avoid double remove() by @anandbonde in #838
- [scheduler] Deprecate TaskHandle.deschedule() by @anandbonde in #839
- [ci] Improve CI configurability by @anandbonde in #796
- [scheduler] Simplified the poll function and deprecated the drop part. by @anandbonde in #840
- [catnap] Enhancement: More compact state machine code by @iyzhang in #844
- [catloop] Missing
async_close()
by @ppenna in #816 - [ci] New workflow files by @anandbonde in #845
- [doc]Architectural Diagram by @ppenna in #846
- [pal] Move SOMAXCONN to PAL by @anandbonde in #849
- [contrib] Updating Packages by @ppenna in #852
- [scheduler] Centralize index computations, simplify TaskHandle by @anandbonde in #850
- [runtime] Enhancement: drain for IoQueueTable by @ppenna in #855
- [catnap] Enhancement: re-architect Catnap by @iyzhang in #851
- [contrib] Updating Dependencies by @ppenna in #858
- [ci] Switch to new CI architecture by @anandbonde in #854
- [ci] No Concurrency for Catloop LibOS by @ppenna in #861
- [catmem] Restructuring by @iyzhang in #853
- [catnap] Move states and YielderHandle allocation into CatnapQueue by @iyzhang in #857
- [catmem] Mutex locking by @iyzhang in #864
- [catmem] Check for Closing and Closed Ring by @ppenna in #866
- [examples] Handle
ECANCELED
by @ppenna in #871 - [catnap] Encapsulate scheduler in runtime by @iyzhang in #867
- [runtime] Move scheduler to shared runtime by @iyzhang in #868
- [contrib] Updating Dependencies by @ppenna in #874
- [catnap] State Check on
push
andpop
by @ppenna in #873 - [catloop] Isolating Queue State by @ppenna in #875
- [catmem] Move to catnap arch by @iyzhang in #876
- [network] Use PAL constants in state by @anandbonde in #877
- [catloop] Unify Scheduler by @ppenna in #879
- [catloop] Remove Harvest on Close by @ppenna in #880
- [catmem] Unify scheduler and memory runtime by @iyzhang in #881
- [catmem] Duplex Ring by @ppenna in #882
- [catloop] Move closer to Catnap arch by @iyzhang in #883
- [test] Correct doc and usage of pushto by @anandbonde in #892
- [catloop] Enhancement: Schedule all coroutines from Catloop by @iyzhang in #891
- [catloop]
INADDR_ANY
Should Be Supported As The Wildcard Address by @ppenna in #893 - [catnap] Move coroutines to standalone functions by @iyzhang in #897
- [runtime] Add IoQueueTable to DemiRuntime by @iyzhang in #898
- [catnap] Don't Panic on Drop by @ppenna in #904
- [catloop] Interpose Error on Connect by @ppenna in #899
- [catloop] Disallow Bind to Non-Local Address by @ppenna in #900
- [catloop] Don't Allow
accept()
On A Socket That Is Already Accepting by @ppenna in #901 - [catnap] Check retry after try_push() by @anandbonde in #912
- [src] Use FIXME comments instead of
deprecated
attribute by @anandbonde in #914 - [catnap] Moving to Standalone Async Functions by @ppenna in #902
- [catloop] Fixing Bugs Around Close by @ppenna in #911
- [test] Enable Integration Tests for Catloop by @ppenna in #913
- [catcollar] Move to async fns by @iyzhang in #909
- [collections] Concurrent Ring Buffer by @iyzhang in #865
- [catloop] Move IoQueueTable by @iyzhang in #907
- [ci] Updating testing.md file. by @carvalhof in #915
- [contrib] Updating Dependencies by @ppenna in #921
- [catnapw] Merge the Catnapw and Catnap LibOSes by @anandbonde in #918
- [catmem] Use Full Ring Name by @ppenna in #917
- [catmem] Performance counters by @carvalhof in #919
- [contrib] Updating Rust Toolchain by @ppenna in #922
- [catloop] Performance counters by @carvalhof in #920
- [collections] Performance counters by @carvalhof in #925
- [catloop] Ensure Accepting in
accept
by @ppenna in #927 - [catmem] Checks for Push and Pop by @ppenna in #928
- [runtime] Move from generics to dynamic typing for I/O Queue Table by @iyzhang in #923
- [runtime] New shared object for shared state by @iyzhang in #926
- [catnap] Remove all Rc and replace with SharedObject by @iyzhang in #929
- [makefile] Allowing mlx5 driver for ConnectX-6 NICs by @carvalhof in #931
- [catloop] Updating task name by @carvalhof in #932
- [runtime] Enhancement: Add Shared to variable name by @iyzhang in #934
- [demikernel] Enhancement: generalize libOS APIs and C bindings from SocketAddrV4 to SocketAddr by @kyleholohan in #936
- [demikernel] Localize packing compiler directives for Windows builds by @anandbonde in #937
- [demikernel] Bump up the windows and socket2 crates by @anandbonde in #938
- [catmem] Enhancement: Move to shared object by @iyzhang in #941
- [ci] Support Concurrent Workflows by @ppenna in #939
- [contrib] Updating Dependencies and Rust Toolchain by @ppenna in #940
- [catloop] Move to shared object by @iyzhang in #942
- [catmem] Enhancement: Move to shared object queues by @iyzhang in #949
- [catloop] Enhancement: Move to shared queues by @iyzhang in #950
- [catmem] Enhancement: Remove standalone functions by @iyzhang in #951
- [test] Check for
EBADF
on Wait by @ppenna in #952 - [catloop] Rollback If Close Fails by @ppenna in #953
- [catloop] Error When Ring Closing/Closed by @ppenna in #948
- [runtime] Unify Retry Test by @ppenna in #956
- [catloop] Warn Backlog Length Listen by @ppenna in #955
- [inetstack] Refuse Connections by @ppenna in #958
- [catmem] Use concurrent ring buffer by @iyzhang in #959
- [catloop] Dedup requests by @iyzhang in #961
- [inetstack] Don't Panic if ARP Query Fail by @ppenna in #960
- [test] TCP Wait Tests for Catloop by @ppenna in #964
- [inetstack] Add Checks for Bind by @ppenna in #963
- [inetstack] SeqNum and AckNum for RST Segments by @ppenna in #962
- [demikernel] Fix Windows build errors by @anandbonde in #967
- [demikernel] Enhancement: Remove refs to CHAR type by @anandbonde in #968
- [contrib] Updating Dependencies by @ppenna in #972
- [catnip] Update pointer to dpdk-rs by @anandbonde in #974
- [catnap] Handle win connect error codes correctly by @anandbonde in #975
- [inetstack] Move UDP stack to async from futures by @iyzhang in #561
- [inetstack] Enhancement: move to shared object by @iyzhang in #976
- [contrib] Updating Dependencies by @ppenna in #978
- [inetstack] Move from futures to async functions by @iyzhang in #977
- [runtime] Remove drop bits from scheduler by @iyzhang in #981
- [runtime] Remove all Refcell from scheduler by @iyzhang in #980
- [runtime] Enhancement: Move timer to explicit yielding and remove Rc construct by @iyzhang in #984
- [catnip] Remove inner construct from memory management runtime by @iyzhang in #985
- [runtime] Move watched value to current architecture by @iyzhang in #986
- [collections] Enhancement: Remove unnecessary linked list by @iyzhang in #989
- [scheduler] Remove redundant waker page offset calculation by @anandbonde in #990
- [catcollar] Move to SharedDemiRuntime by @iyzhang in #991
- [runtime] Enhancement: Move ephemeral port allocator into shared runtime by @iyzhang in #992
- [runtime] Enhancement: Move clock to runtime by @iyzhang in #994
- [runtime] Move to shared demux table by @iyzhang in #995
- [runtime] Remove file descriptor from socket id data structure by @iyzhang in #996
- [collections] Enhancement: refactor RingBuffer to operate more like a pipe by @kyleholohan in #983
- [runtime] Enhancement: Remove a warning by @iyzhang in #999
- [runtime] Enhancement: add more tracing by @iyzhang in #997
- [catloop] Do not remove pending op for Close by @anandbonde in #1002
- [demikernel] Improvements to the
pack_result()
and return path by @anandbonde in #1000 - [inetstack] Remove spurious wake ups by @iyzhang in #998
- [demikernel] Switch to
runtime::pack_result()
forcatcollar
andcatpowder
by @anandbonde in #1004
New Contributors
- @kyleholohan made their first contribution in #936
Full Changelog: v1.3...v1.4