(no commit message)
authordillon <dillon@web>
Mon, 14 Aug 2017 06:50:58 +0000 (06:50 +0000)
committerIkiWiki <ikiwiki.info>
Mon, 14 Aug 2017 06:50:58 +0000 (06:50 +0000)
features/index.mdwn

index e3b1074..ef7c434 100644 (file)
@@ -36,7 +36,13 @@ DragonFly will autotune kernel resources and scaling metrics such as kernel hash
 
 * The scheduler uses per-cpu algorithms and scales across any number of cpus.  In addition, the scheduler is topology-aware and gains hints from whatever IPC (Inter-Process Communications) occurs to organize active processes within the cpu topology in a way that makes maximum use of cache locality.  Load is also taken into account, and can shift how cache locality is handled.
 
-* The kernel memory manager is somewhat NUMA aware.  Most per-cpu operations use NUMA-local memory allocations.  User memory requests are also NUMA aware, at least for short-lived user programs.  Generally speaking, the scheduler will try to keep a process on the same cpu socket but ultimately we've determined that load balancing is sometimes more important.  CPU caches generally do a very good job of maximizing IPC (Instructions Per Clock)
+* The kernel memory manager is somewhat NUMA aware.  Most per-cpu operations use NUMA-local memory allocations.  User memory requests are also NUMA aware, at least for short-lived user programs.  Generally speaking, the scheduler will try to keep a process on the same cpu socket but ultimately we've determined that load balancing is sometimes more important.  CPU caches generally do a very good job of maximizing IPC (Instructions Per Clock).  Because memory management is fully SMP-aware, a multi-core system can literally allocate and free memory at a rate in the multiple gigabytes/sec range.
+
+* Generally very high concurrency with very low kernel overhead.  The kernel can handle just about any load thrown at it and still be completely responsive to other incidental tasks.  Systems can run efficiently at well over 100% load.
+
+* Supports up to 4 swap devices for paging and up to 55TB (Terrabytes) of configured swapspace.  Requires 1MB of physical ram per 1GB of configured swap.  When multiple swap devices are present, I/O will be interleaved for maximum effectiveness.
+
+The paging system is extremely capable under virtually any load conditions, particularly when swap is assigned to NVMe storage.  Concurrent pagein across available cpus, in particular, works extremely well.  Extended filesystem data caching via the swapcache mechanism can operate as an extended (huge) disk cache if desired, and/or used to increase the apparent total system memory.
 
 ## HAMMER - DragonFly Filesystem