Commit Graph

  • 453f5e69ea Added bit allocator from NOVA. yritys feature/cws Michael Mueller 2024-10-28 13:26:23 +01:00
  • 2925ae7737 Use new allocator for determining victim queues. Michael Mueller 2024-10-28 13:25:58 +01:00
  • e48686cc13 Tweaked compiler arguments caladan Michael Mueller 2024-10-22 15:01:13 +02:00
  • eaa636edcb Yield thread if task queues are empty Michael Mueller 2024-10-22 15:00:54 +02:00
  • f701cb1f8d Put workers to sleep when runtime is stopped. Michael Mueller 2024-10-14 15:16:47 +02:00
  • 4935773863 Use the same HW performance counter as on Genode. Michael Mueller 2024-10-14 15:16:22 +02:00
  • 2b868f7156 Use std::chrono on Linux. Michael Mueller 2024-10-14 15:15:38 +02:00
  • f34f8948f0 Include core allocation in time measurement. Michael Mueller 2024-10-14 15:15:13 +02:00
  • 7a2bce669b Log workers' affinities. Michael Mueller 2024-10-10 18:39:02 +02:00
  • 28be6142f6 Avoid complete restart of runtime environment. Michael Mueller 2024-10-10 18:38:31 +02:00
  • ea6c00de24 Very first version of task queue stealing. Michael Mueller 2024-08-28 15:21:07 +02:00
  • 9f6e618d2b Use 8 NUMA nodes for now. Michael Mueller 2024-08-28 15:19:54 +02:00
  • b946a2b15f Added error handling for illegal NUMA nodes in memory allocator. Michael Mueller 2024-08-28 15:19:16 +02:00
  • 3db8d834e5 Use static maximum NUMA id for debugging. Michael Mueller 2024-08-02 14:21:09 +02:00
  • 5742bdb926 Merge branch 'yritys' into feature/cws Michael Mueller 2024-07-30 16:07:16 +02:00
  • 923c9b8db4 Added helper function to search for first bit set in integer. Michael Mueller 2024-07-30 16:06:37 +02:00
  • c165633d49 Added methods to set and get global core set. Michael Mueller 2024-07-30 16:05:53 +02:00
  • c3fd09c421 Initialize core heaps for the total amount of CPU cores the machine has. Michael Mueller 2024-07-30 16:05:08 +02:00
  • be81dd4353 Introduces a system-wide core set to be used for the fixed-sized allocator. Michael Mueller 2024-07-30 16:04:37 +02:00
  • c36d2f101e Allow core sets to be built from a bitset. Michael Mueller 2024-07-30 16:03:11 +02:00
  • 92b1262ecb Added compiler flags for linking against Caladan. Michael Mueller 2024-07-23 17:55:37 +02:00
  • 3717ee5ce4 Initialize Caladan runtime in B-link tree benchmark. Michael Mueller 2024-07-23 17:25:26 +02:00
  • f3debbbd70 Replaced pthreads with Caladan threads. Michael Mueller 2024-07-23 17:17:47 +02:00
  • 7e692c5265 Bring compiler flags in line with the ones used for the Genode port. Michael Mueller 2024-07-23 16:29:38 +02:00
  • b94c2967e5 Reduced workload size for YSCB-A. Michael Mueller 2024-07-23 16:28:32 +02:00
  • 7b8735c721 Fix to make mxtasking compilable with gcc. Michael Mueller 2024-07-23 16:27:49 +02:00
  • 4ee2b58379 Let workers tolerate that the actual core they are running on is not the intended CPU core. Michael Mueller 2024-07-23 16:26:32 +02:00
  • 5aa7a905f7 Adapted maximum number of cores to evaluation platform. Michael Mueller 2024-07-23 16:24:54 +02:00
  • 7a53462109 Added helper function to read out TSC. Michael Mueller 2024-07-23 16:24:01 +02:00
  • c9d7921ef6 Increased maximum number of supported NUMA nodes to match the number of the evaluation platform. Michael Mueller 2024-07-23 16:22:35 +02:00
  • 5823c49317 Adapted perfomance counters for AMD Epyc and usage of TSC instead of std::chrono. Michael Mueller 2024-07-23 16:21:28 +02:00
  • 74befd9e3b Use tasks to start and stop measurements to ensure that only the TSC used to detemine the starting point is the same as the one used for detemining the end timepoint. Michael Mueller 2024-07-23 16:20:22 +02:00
  • ad00e53c0b Fixed crashes when freeing memory from fixed size allocator. Michael Mueller 2024-07-23 16:18:07 +02:00
  • 3895c4a8eb Manage channels seperate from workers. This enables a channels to be migrated between worker threads without impacting the former's functionality. Michael Mueller 2024-06-14 16:02:39 +02:00
  • f366ff7d11 mxtasking: Integration with Tukija. Michael Mueller 2024-03-12 12:47:54 +01:00
  • 6b983dede7 Added entrypoint for pthread_create to Worker. Michael Mueller 2024-02-13 19:45:31 +01:00
  • 521d325129 Changed worker loop to watch out for yield signal. Also, removed the pinning as this is done when the worker's thread is created. Michael Mueller 2024-02-13 19:45:01 +01:00
  • 4b13aa18e7 Added pthread entrypoint for epoch manager. Michael Mueller 2024-02-13 19:43:45 +01:00
  • 5f2cba19d8 Create worker threads using libc to guarantee correct pinning. Michael Mueller 2024-02-13 19:43:14 +01:00
  • c177c8cf50 Create and map Tukija signal page on initialization. Michael Mueller 2024-02-13 18:53:16 +01:00
  • 183a5154d4 Added communication signal to Tukija. Michael Mueller 2024-02-13 17:37:16 +01:00
  • 3284440c93 update to steal a whole queue stealing Denshooter 2023-12-15 12:44:44 +01:00
  • 577bf65851 update to working genode implementation tasking-profiler Denshooter 2023-10-03 22:24:21 +02:00
  • 1d28f43a83 fixed fail in the tasking profiler Denshooter 2023-08-01 10:15:34 +02:00
  • f0134e9196 first tests for work stealing Denshooter 2023-07-10 10:19:34 +02:00
  • ae1b675d34 Merge branch 'tasking-profiler' of https://github.com/mmueller41/mxtasking into tasking-profiler Denshooter 2023-07-05 17:03:56 +02:00
  • 6dce34d1e6 free and printFloatUS Denshooter 2023-07-05 17:03:09 +02:00
  • f614fed17b reduced trace size Marcel Lütke Dreimann 2023-06-26 10:57:22 +02:00
  • 1b70c89b01 update taskingProfiler to newer version Denshooter 2023-06-16 11:44:29 +02:00
  • 6fd37d3f73 taskingProfiler init Denshooter 2023-04-24 11:18:16 +02:00
  • fcf0a2810b Added check for cache-alignment to MPSC queue. ealan Michael Mueller 2023-03-27 16:35:05 +02:00
  • d32c7af315 Fixed incorrect pinning of worker threads. Michael Mueller 2023-03-27 16:34:34 +02:00
  • de5ba5d9c8 Worker and channel allocation adopted to Genode's memory management. Michael Mueller 2023-03-27 16:33:13 +02:00
  • 137b914bb1 Implemented system interface for Genode in MxTasking. Michael Mueller 2023-03-27 16:31:54 +02:00
  • 682d26c673 Added Genode::Env to MxTasking environment. Michael Mueller 2023-03-27 16:30:53 +02:00
  • 47cd9585c3 Explicit types for config.h Michael Mueller 2023-03-27 16:30:11 +02:00
  • f6db18473f Adapted MxTasking memory manager to Genode. Michael Mueller 2023-03-27 16:29:39 +02:00
  • 54974c48be Use TSC instead of steady_clock. This saves RPC cost. Michael Mueller 2023-03-27 16:28:14 +02:00
  • c81b916810 Removed comment. genode Michael Müller 2022-07-26 18:29:23 +02:00
  • 139b3a2d88 Revert "Use Genode functions to allocate memory." Michael Müller 2022-07-26 18:28:30 +02:00
  • 35065cfef8 Fixed scheduler trying to access unallocated workers on invalid channels. Michael Müller 2022-07-26 18:07:15 +02:00
  • e0b2605dfe Added log messages to scheduler. Michael Müller 2022-07-26 17:35:32 +02:00
  • f33eb0d32f Revert "Replaced unique_ptrs with simple pointers, as Genode's stdcxx does not provide the former." Michael Müller 2022-07-26 17:31:25 +02:00
  • e734ffd0d8 Convert basic_string to C string. Michael Müller 2022-07-07 18:39:45 +02:00
  • 360de88fca Add include for GlobalHeap. Michael Müller 2022-07-07 18:38:14 +02:00
  • 1fd51a8863 Removed std::chrono reference and dump to serial console. Michael Müller 2022-07-07 18:33:48 +02:00
  • 1e357dd30f Fixed name collision. Michael Müller 2022-07-07 17:50:20 +02:00
  • 8787274fb8 Added setter method for environment. Michael Müller 2022-07-07 17:46:19 +02:00
  • 06b979729c Use singleton object to access GlobalHeap. Michael Müller 2022-07-07 16:56:09 +02:00
  • 1656a6a3d9 Deleted unneeded files. Michael Müller 2022-07-07 16:55:22 +02:00
  • 561fa9d562 Use singleton object for accessing Genode's environment. Michael Müller 2022-07-07 16:55:03 +02:00
  • a9cf438fe5 Define GlobalHeap::_heap in seperate compilation unit. Michael Müller 2022-07-07 12:50:32 +02:00
  • a61242a74f Missed parameter for free(). Michael Müller 2022-07-07 12:42:45 +02:00
  • 8fba63d09a Use Genode functions to allocate memory. Michael Müller 2022-07-07 12:39:57 +02:00
  • 3955cc82fe Overlooked another one. Michael Müller 2022-07-07 11:43:15 +02:00
  • 0698296e04 Overlooked reference to system::Environment::env. Michael Müller 2022-07-07 11:40:12 +02:00
  • bbfe3c5934 Made mx::System::Environment::env a pointer since it can then be reset later. Michael Müller 2022-07-07 11:35:47 +02:00
  • 7ce43863aa Removed superflous semicolon. Michael Müller 2022-07-07 11:14:11 +02:00
  • 51bf66f3dc Added missing include of cstdint. Michael Müller 2022-07-07 11:08:50 +02:00
  • 3e03c11586 Removed include and fixed type error. Michael Müller 2022-07-07 10:59:05 +02:00
  • 22862914da Make Genode::Thread's attribute accesible in child classes. Michael Müller 2022-07-07 10:52:45 +02:00
  • 8c4a7678f4 Removed unnecessary class mx::system::thread. Michael Müller 2022-07-07 10:52:15 +02:00
  • 76eb44b2d3 Misspelled function Timer::usleep(). Michael Müller 2022-07-07 09:53:27 +02:00
  • 6870b94b6e Initialize Timer::Connection in constructor of ProfilingTask. Michael Müller 2022-07-07 09:51:38 +02:00
  • 3bb518509a Use one Timer::Connection per ProfilingTask instead of per IdleRange. Michael Müller 2022-07-07 09:45:00 +02:00
  • 69777e4ef4 Added missing "new" when creating resource::Builder object. Michael Müller 2022-07-06 18:17:46 +02:00
  • de0bd7cc86 Added missing include and typo for class member. Michael Müller 2022-07-06 18:17:14 +02:00
  • 305228a5da Missed constructor argument for Timer. Michael Müller 2022-07-06 18:16:37 +02:00
  • 19a1c2d861 Overlooked another call to std::aligned_alloc(). Michael Müller 2022-07-06 18:15:59 +02:00
  • b8efdaa79a Use std::malloc because Genode lacks std::aligned_alloc. Michael Müller 2022-07-06 18:08:09 +02:00
  • 25bd355d2f Accidentally commented out closing bracket in class definition. Michael Müller 2022-07-06 18:07:32 +02:00
  • ef10d02112 Changed default compiler to Genode's cross-compiler. Michael Müller 2022-07-06 12:49:35 +02:00
  • 0ee03e75be Made hello-world-example a Genode component. Michael Müller 2022-07-05 18:58:59 +02:00
  • 699216d0ce Call constructor for Thread. Michael Müller 2022-07-05 18:57:56 +02:00
  • c9b3711d78 Genode::Env is now a static class member. Allows to use Environment without instance again. Michael Müller 2022-07-05 18:57:05 +02:00
  • cb8bda987f Removed TODO for class thread. Michael Müller 2022-07-05 18:56:07 +02:00
  • c789d8cbf8 Removed blank line. Michael Müller 2022-07-05 18:55:37 +02:00
  • cb25f9d5bb Replaced unique_ptrs with simple pointers, as Genode's stdcxx does not provide the former. Michael Müller 2022-07-05 18:55:01 +02:00
  • 9985548fba Moved to native Genode threads. Michael Müller 2022-07-05 18:54:04 +02:00
  • 9b01c8bf86 Use Genode timer_session as time source. Michael Müller 2022-07-05 18:53:23 +02:00