ACS issueshttps://git.rwth-aachen.de/groups/acs/-/issues2021-06-28T17:11:18+02:00https://git.rwth-aachen.de/acs/public/simulation/powersystemsimulation.jl/-/issues/1Remove `Plots` from package deps2021-06-28T17:11:18+02:00Felix WegeRemove `Plots` from package depsFor convenient use in examples, `Plots` is added as package dependency. Remove asap if possible!For convenient use in examples, `Plots` is added as package dependency. Remove asap if possible!Felix WegeFelix Wegehttps://git.rwth-aachen.de/acs/public/exam-tools/exam_scan_manager/-/issues/23Highlight duplicate matr. nrs.2022-08-17T13:33:50+02:00Jonathan KlimtHighlight duplicate matr. nrs.https://git.rwth-aachen.de/acs/public/exam-tools/exam_scan_manager/-/issues/19Find and integrate a nice windows theme2021-02-05T18:38:18+01:00Jonathan KlimtFind and integrate a nice windows themeAdwaita looks quite alien on Windows. There must be better Gtk themes for windows.
It's important to check the licenses of the themesAdwaita looks quite alien on Windows. There must be better Gtk themes for windows.
It's important to check the licenses of the themeshttps://git.rwth-aachen.de/acs/public/exam-tools/exam_scan_manager/-/issues/18Reduce Windows bundle size2021-02-05T18:37:16+01:00Jonathan KlimtReduce Windows bundle sizeLikely a few libraries and dlls could be removed.
Also the icons (and especially the cursors) take a lot of space.Likely a few libraries and dlls could be removed.
Also the icons (and especially the cursors) take a lot of space.https://git.rwth-aachen.de/acs/public/exam-tools/exam_scan_manager/-/issues/17Integrate dependencies2021-02-05T18:33:36+01:00Jonathan KlimtIntegrate dependenciesexam-scan-manager depends on
- imagemagick
- ghostscript
We could either bundle the exe/dll files or somehow create an installer which also installs them. For the latter approach, https://wixtoolset.org/ might be an optionexam-scan-manager depends on
- imagemagick
- ghostscript
We could either bundle the exe/dll files or somehow create an installer which also installs them. For the latter approach, https://wixtoolset.org/ might be an optionhttps://git.rwth-aachen.de/acs/public/exam-tools/exam_scan_manager/-/issues/16exit not known on windows2021-02-05T00:22:15+01:00Jonathan Klimtexit not known on windowshttps://git.rwth-aachen.de/acs/public/exam-tools/exam_scan_manager/-/issues/15Windows Problems with path2021-02-05T00:22:11+01:00Jonathan KlimtWindows Problems with path```
$ exam_scan_manager
Traceback (most recent call last):
File "C:/msys64/home/jonathan/exam-toolbox/exam_scan_tools/barcode_generation_gui.py", line 80, in update_settings
filename = str((Path(out_folder) / filename).resolve())
...```
$ exam_scan_manager
Traceback (most recent call last):
File "C:/msys64/home/jonathan/exam-toolbox/exam_scan_tools/barcode_generation_gui.py", line 80, in update_settings
filename = str((Path(out_folder) / filename).resolve())
File "C:/msys64/mingw64/lib/python3.8/pathlib.py", line 1043, in __new__
self = cls._from_parts(args, init=False)
File "C:/msys64/mingw64/lib/python3.8/pathlib.py", line 684, in _from_parts
drv, root, parts = self._parse_args(args)
File "C:/msys64/mingw64/lib/python3.8/pathlib.py", line 668, in _parse_args
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
```https://git.rwth-aachen.de/acs/public/exam-tools/exam_scan_manager/-/issues/9Output QR Exams in single file2022-08-27T21:45:53+02:00Jonathan KlimtOutput QR Exams in single filehttps://git.rwth-aachen.de/acs/public/exam-tools/exam_scan_manager/-/issues/7Feature: Check against Participant List to prevent false inputs2021-01-27T13:59:01+01:00Jonathan KlimtFeature: Check against Participant List to prevent false inputshttps://git.rwth-aachen.de/acs/public/teaching/praktikum-betriebssysteme/-/issues/2Interrupts werden für neue Tasks immer aktiviert und interrupts::disable() gi...2021-01-12T18:15:23+01:00Simon SchöningInterrupts werden für neue Tasks immer aktiviert und interrupts::disable() gilt nur für den aktuellen TaskIn `edu-kernel/src/arch/x86_64/cpu_context.rs` wird das FLAGS-Register mit dem CpuContext gespeichert und für neue Tasks mit `0x1202` initialisiert. Dabei ist insbesondere immer Bit 9 (Interrupt enable flag) gesetzt.
Das sorgt (wahrsche...In `edu-kernel/src/arch/x86_64/cpu_context.rs` wird das FLAGS-Register mit dem CpuContext gespeichert und für neue Tasks mit `0x1202` initialisiert. Dabei ist insbesondere immer Bit 9 (Interrupt enable flag) gesetzt.
Das sorgt (wahrscheinlich) dafür, dass jeder Task "nur für sich selber" Interrupts deaktivieren/aktivieren kann.
Um z. B. Timer-Interrupts für alle Tasks zu deaktivieren, kann daher interrupts::disable() nicht verwendet werden.https://git.rwth-aachen.de/acs/public/teaching/praktikum-betriebssysteme/-/issues/1Probleme im Zusammenhang mit Semaphoren2021-01-12T20:15:48+01:00Simon SchöningProbleme im Zusammenhang mit SemaphorenPhilipp und ich hatten einige Fehler beim Implementieren der Semaphoren.
Mein Code, der eventuell Fehler enthält: [semaphore.rs](/uploads/d133ea03c2ad38f8899f263e5419fbfa/semaphore.rs)
Anmerkungen zum Code:
- Auch in der post-Fkt. wird...Philipp und ich hatten einige Fehler beim Implementieren der Semaphoren.
Mein Code, der eventuell Fehler enthält: [semaphore.rs](/uploads/d133ea03c2ad38f8899f263e5419fbfa/semaphore.rs)
Anmerkungen zum Code:
- Auch in der post-Fkt. wird ein neuer FifoScheduler erstellt, falls dies noch nicht passiert ist. Das ist eigentlich nicht notwendig.
- Ich denke, dass der FifoScheduler nicht durch einen InterruptSpinlock geschützt werden muss, da er schon durch den Mutex für den Zähler geschützt werden kann.
Fehler die bei dem Test "sem_test" auftreten können (Nur wenn der Timer aktiviert ist):
- `[PANIC] panicked at 'already borrowed: BorrowMutError', edu-kernel/src/scheduler/mod.rs:72:41`
(Zeilennummern sind eventuell verschoben zur Vorlage)
Zeile 72: `let mut task_ref = task.borrow_mut();` in der Fkt. "wakeup"
- `[PANIC] panicked at 'not implemented: Interrupt handler "invalid_opcode"
stack_frame = InterruptStackFrame {
instruction_pointer: VirtAddr(0x216212),
code_segment: 8,
cpu_flags: 0x11002,
stack_pointer: VirtAddr(0x483d58),
stack_segment: 16,
}', edu-kernel/src/arch/x86_64/interrupts.rs:133:1`
Möglicherweise wird der BorrowMutError dadurch verursacht, dass ein Task auf eine RefCell (in diesem Fall einem TaskRef) die Funktion borrow() oder borrow_mut() aufruft und vor dem Beenden des Borrows vom Timer-Interrupt unterbrochen wird.
Daher sollten alle (public) Fkt. im Code, die borrow() oder borrow_mut() nutzen, vor Interrupts geschützt werden.
Dies wäre z. B. `pub fn spawn_prio` in `edu-kernel/src/scheduler/thread.rs`, aber auch `block_current_task`, `get_current_stack` oder `wakeup_task` in `edu-kernel/src/scheduler/mod.rs`
Es wäre auch nicht schlecht einen Arc für TaskRef zu verwenden: `pub type TaskRef = Arc<RefCell<Task>>;`.
Mit den genannten Veränderungen scheinen die oben genannten Fehler nicht mehr aufzutreten.https://git.rwth-aachen.de/acs/public/simulation/DistAIXFramework/distaix/-/issues/9Code refactoring for behaviors2022-06-01T15:49:52+02:00Sonja HappCode refactoring for behaviorsThe code structure of agent behaviors is currently a little messed up.
- An agent behavior always requires a logic function `execute_agent_behavior()` that defines what the agent does in every simulation time step based on knowledge and ...The code structure of agent behaviors is currently a little messed up.
- An agent behavior always requires a logic function `execute_agent_behavior()` that defines what the agent does in every simulation time step based on knowledge and incoming messages of other agents that have been received via MPI (Message Routers).
- An agent behavior can OPTIONALLY use an instance of `villas_interface` to exchange data with external systems. This interface also requires a logic defining the interface initialization and its behavior in each simulation time step
We need to refactor the code structure so that it is clear where agent behavior logic and where agent VILLAS interface logic are implemented. It should be possible to use one VILLAS interface logic with multiple agent behavior logics and vice versa. Code duplication should be avoided as much as possible.
My first idea is separating the interface init + logic from the behaviors and moving it to separate classes that can be used by agent behaviors and are optionally called during agent behavior logic init and during `execute_agent_behavior()`.https://git.rwth-aachen.de/acs/public/ontology/sargon/-/issues/2Inconsistencies between files2020-03-17T15:21:34+01:00Markus MirzInconsistencies between filesHello everyone,
I've stumbled upon some inconsistencies. E.g. sometimes it's "soported" Network in the LD files instead of "supportedNetwork".
The example sensor uses "adress" instead of "locatedAt".
The generic device example is missi...Hello everyone,
I've stumbled upon some inconsistencies. E.g. sometimes it's "soported" Network in the LD files instead of "supportedNetwork".
The example sensor uses "adress" instead of "locatedAt".
The generic device example is missing mandatory Attributes / Properties.
Will post further updates.Markus MirzMarkus Mirzhttps://git.rwth-aachen.de/acs/public/simulation/DistAIXFramework/distaix/-/issues/7Improve scenario file reading and storing2022-04-25T15:54:38+02:00Sonja HappImprove scenario file reading and storingCurrently all processes read and store the scenario files `component.csv` and `el_grid.csv`. This duplicates data in memory, since the same files are available in each process. Especially for large scenarios, this becomes convenient.
Th...Currently all processes read and store the scenario files `component.csv` and `el_grid.csv`. This duplicates data in memory, since the same files are available in each process. Especially for large scenarios, this becomes convenient.
The scenario files could be read by only one process and stored into an MPI shared memory section accessible by all processes on one computing node.https://git.rwth-aachen.de/acs/public/simulation/DistAIXFramework/distaix/-/issues/6Improve profile reading and storing2022-04-25T15:54:22+02:00Sonja HappImprove profile reading and storingAt the moment, profiles are read by collective MPI IO operations and stored in each process. This can be improved by parallelizing the reading of all profile files and storing the data in a shared memory section on each computing node. T...At the moment, profiles are read by collective MPI IO operations and stored in each process. This can be improved by parallelizing the reading of all profile files and storing the data in a shared memory section on each computing node. The steps to take are the following:
- create a split MPI communicator for each node
- allocate one shared memory segment per profile on each node
- make sure that each profile file is read by only one process in the split MPI communicator
- store profile content to respective shared memory segment
- make sure that the FBScomponents library reads correctly from the shared memory segments
This method should no longer require collective MPI IO operations to read the profile files and reduce the required memory for profile storing.https://git.rwth-aachen.de/acs/public/ontology/sargon/-/issues/1split repo2020-03-16T12:12:01+01:00Markus Mirzsplit repoHi,
would it be possible to split the repo into "device wizard" and "datamodel specification"? Otherwise i cannot restructurethe git efficiently.
Please. check on this.Hi,
would it be possible to split the repo into "device wizard" and "datamodel specification"? Otherwise i cannot restructurethe git efficiently.
Please. check on this.Markus MirzMarkus Mirz2020-01-15https://git.rwth-aachen.de/acs/public/virtualization/cricket/-/issues/17Add binary to ckp_dir2020-03-18T09:25:27+01:00Jonathan KlimtAdd binary to ckp_dirWe could store the binary in the checkpoint directory. This would make it easier to store the checkpoint as a whole thing.We could store the binary in the checkpoint directory. This would make it easier to store the checkpoint as a whole thing.https://git.rwth-aachen.de/acs/public/virtualization/cricket/-/issues/5Use the correct control instruction2019-04-15T09:33:58+02:00Niklas Eilingniklas.eiling@eonerc.rwth-aachen.deUse the correct control instructionthe same control instruction is always used regardless of the actual instruction that follow. I'm surprised this works. We should check this.the same control instruction is always used regardless of the actual instruction that follow. I'm surprised this works. We should check this.https://git.rwth-aachen.de/acs/public/virtualization/cricket/-/issues/3Improve performance for register and local memory accesses2019-05-20T09:03:35+02:00Niklas Eilingniklas.eiling@eonerc.rwth-aachen.deImprove performance for register and local memory accessesmaybe parallelize?maybe parallelize?https://git.rwth-aachen.de/acs/public/virtualization/cricket/-/issues/2GPU: port for Volta and Turing GPUs2020-05-14T11:29:29+02:00Niklas Eilingniklas.eiling@eonerc.rwth-aachen.deGPU: port for Volta and Turing GPUsrequires at least saving individual PC for each thread, not just per warprequires at least saving individual PC for each thread, not just per warp