Cache simulation in gem5 - caching

Happy new year to everyone!
I want to know how to change caches' parameters in gem5. I usually use se.py configuration script for my simulations. Can I change caches's latencies in se.py? Is there an option for that?

Related

How can I track an event accross multiple resources in gem5?

I would like to know if there is a proper method to track memory accesses
across multiple resources at once. For example I set up a simple dual core CPU
by advancing the simple.py from learning gem5 (I just added another
TimingSimpleCPU and made the port connections).
I took a look at the different debug options and found for example the
MemoryAccess flag (and others), but this seemed to only show the accesses at
the DRAM or one other resource component.
Nevertheless I imagine a way to track events across CPU, bus and finally memory.
Does this feature already exist?
What can I try next? Is it and idea to add my own --debug-flag or can I work
with the TraceCPU for my specified use?
I haven't worked much with gem5 yet so I'm not sure how to achieve this. Since until now I only ran in SE mode is the FS mode a solution?
Finally I also found the TraceCPUData flag in the --debug-flags, but running
this with my config script created no output (like many other flags btw. ...).
It seems that this is a --debug-flag for the TraceCPU, what kind of output does this flag create and can it help me?

I cannot see a full list of database storage classes in Openshift webconsole

I am using couchdb and I need to stress test the db to make sure about performance limitation.
I have never done any sort of performance testing. So I decided to write a piece of code to do so:
import couchdb
couch= couchdb.Server('xxxxxxx')
db= couch["performance_test"]
doc={
"test": "test",
"db":"cocuh"
}
db.save(doc)
So this is just a beginning and I need to add a lot to it to have it working. For example in terms of benchmarks, measure ... I am not sure what to do. Before keep going and complete the code I want to make sure I am in the right path. Is it the best way to do so? or should I use a specific tool for it? any insight is appreciated
First you need to figure out what you're actually measuring -- concurrent read rates, write throughput etc.
There are lots of load testing frameworks around, for example Locust. Using an existing load testing tool gives you a lot of functionality you otherwise would ghave to implement yourself. Locust makes nice graphs etc.
There are also plenty of tools and libraries that can help you generate random test data, such as faker in Python.

How to update the configuration of an apache nifi processor without stopping it?

Good morning, I'm using Apache Nifi, I wonder if anyone knows any way to change the setting of a processor without having to stop it. Or some viable alternative to prevent the loss of information.
Thanks
The configuration of a processor cannot be changed while the processor is running and this is done intentionally. This provides guarantees to the developer of a processor so that in the onTrigger method they can be guaranteed all the properties have the same values that passed validation when the processor was started.
If you can describe your use-case more we might be able to come up with alternative approaches.
there is an alternative solution. Duplicate the processor will update its configuration to the desired one. the output of the duplicate is connected to the next processor. the original processor is stopped and its queued connected to the duplicate and then turned on.
In one way or another the data flow has to be interrupted, but in this way the changes that take more time to make in the processor, can be made in the duplicate first, in order to reduce the impact of the interruption as much as possible.
regards

utility to make uboot customization/building easy?

Is there a quick and dirty application or script somewhere that allows me to customize uboot relatively painless and fast?
At current state, to my limited understanding, this is what I need to do if I wanted to build my own bootloder using uboot: I have to first be an intermediate level expert on GNU make as well as makefile scripting, then I have to study extensively the makefiles of uboot in order to decide what "child" makefiles I must include and what are the lines I need to get commented. I could be easily looking at either an 100 hour college course equivalent of study period, or a 4 month long learning curve.
The thing is, I'm not using ready-made boards like Raspberry Pi, I'm trying to build my own board with widely used components readily available in the market. My board would be similar to a lot of devboards out there but it's not gonna have a doppelganger with all the same properties/specs, so I pretty much have to build my own bootloader from uboot.
Ideas? Or did I get completely the wrong idea?
Anyway if this is going to be way too time-consuming I suppose I'll use RPi whatnot.
You've got the wrong idea. It's a combination of a Kconfig-style .config and editing the include/config/boardname.h header file that you create based on the reference platform that you start with for your board (even if not starting with a reference HW design and customizing you should pick a best-fit for the SoC that already exists and go from there).

Questions regarding changing vehicle speed in SUMO through OMNet++ TraCI

I am currently using SUMO-0.19.0 veins-3.0 and OMNet++-4.6.
I have been doing research online about how to change the vehicle's speed through the ini file in OMNet, my goal is to test how different vehicle speed can affect the broadcast. I am able to change the broadcast interval using iteration, and I am able to change the vehicle speed in the .rou file and .net file one at a time.
However, my problem is I want to use iteration in OMNet++ ini file to change the vehicle speed and acceleration to accelerate the simulation process, but I don't know how.
I have checked the link https://groups.google.com/forum/#!topic/omnetpp/Cy1Slhx9h1U, but I still don't know where to use setSpeed, not to mention how to use iteration on changing the vehicle speed.
Thank you in advance.
To have runs with different vehicle speeds it is best to configure a run for every needed speed in SUMO.
To do this you have to create additional .rou.xml files with various speeds. How this can be achieved is described in detail in the SUMO Wiki. Basically, every .rou.xml has to have its own value for maxSpeed.
Afterwards make sure to load the correct .sumo.cfg via the .launchd.xmlin your omnetpp.ini. You can configure OMNeT++ to make a run for various configurations as shown in the OMNeT++ Manual.
in my opinion the speed of the vehicles could be changed from the .net.xml file. the only problem is you have to change the speed separately for all the vehicles. the easiest way for that could be changing the speed of the group of vehicles like a group of cars have been classified as , u can replace the speed with any speed of your choice.
If you are using traci interface, you can set any individualy vehicle speed from the next timestep using the command
traci.vehicle.setSpeed(vehId, desiredspeed)

Resources