How do I implement different task scheduling algorithms in Linux - server

A few colleagues and I are currently sharing a server to run simulations. We were hoping to implement a priority-based scheduling algorithm on the server so that more pressing jobs are run first.
The server is running Ubuntu 18.04 and if I am not mistaken it is currently running the default CFS.
I haven't attempted to install anything or play around with the current scheduler. I'd rather not make any dramatic mistakes and mess it up.
Any assistance or resources that could help implement a process scheduling solution would be greatly appreciated.

You can using cronjob to scheduling in linux

Related

service fabric slow development cycle

Still very new to service fabric but I'm surprised that something as advanced as this is so slow to debug. I'm using a fairly fast machine but it takes 4-5 minutes to tear down and restart the cluster. I've googled it and can't see that anyone else has reported this as being a show stopper.
Some clues to help with your slow development turnaround time:
When developing locally, consider using a One-node cluster in order
to speed-up deployments and upgrades (less Upgrade/Fault Domains):
https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started-with-a-local-cluster#one-node-and-five-node-cluster-mode
You need to setup/create your cluster once and than start it and
keep it running between debugging sessions, Visual Studio will take
care of uninstalling/upgrading the SF Apps when starting the
debugger.
You can modify the properties of the SF Application project to
decide if your SF App will be uninstalled and install or upgraded
when starting the debugger, which impacts the deployment time.
Consider running from a SSD drive which will speed up compilation and
deployment (file intensive).
Expect less than one minute to compile, deploy and attach debugger for a SF App with 2-3 services.
Yes, we have the same issue, we have around 10 services in our application and debugging is very slow, VS fails to refresh 1 node cluster all the time, so cluster reset is only solution. So every debug run takes about 5 minutes.
Yes, very disappointment development process, the only advantage is some reuse of C# code, if you have not decided what to use for your cloud solution, abandon C# as early as possible. Go for any JST based language having no intermediate binaries.

virtual machines automatic deployment and provisioning

In the recent times, I tend to set-up and configure more and more VMs daily with very similar or the very same configuration, and due to the time consumption caused by that, I'm looking for a way to automate the whole process.
I have started looking around and I have found Vagrant which could be a very good starting point.
I would like to create a custom build of a VMWare VM ( vagrant box if not mistaken ), and I would like to use that box as my base and deploy it on my servers.
The trouble starts here:
On my servers I use VMWare vSphere and I see that Vagrant can support it via an external plugin, but, as I read along, I see that vSphere only supports VMs created from template or cloned from an existing one.
Is there any change to run my VMWare Workstation boxes with it ?
Also, I would be very grateful if you could provide me with some more info on the same matter using other ( maybe better suited ) solutions.
I know there are also Chef and Puppet, but are they maybe an overkill for my needs ?Thank you for your time and help,Best regards.
Have you looked into Ansible? http://www.ansible.com/home
There is an opensource one available it is extremly easy to use. Might be what you're looking for.

Why wont the Zed Attack Proxy (ZAP) start

I have ZAP installed on a build server (Windows 2008 R2) and on my Windows 7 desktop, and Zap only occasionally starts. I click on the program and my cursor shows it is waiting for a second or 2 and then nothing. Attempting to run from the command line will also not show any signs of running.
Then just out of the blue the program may launch.
Is it possible it just takes forever to start. I left my computer running and the next day when I came to work there was the UI.
I get the same results if I try to run the program in the headless state. with the -daemon flag. it never starts, it never shows up in the task manager, as an application or a process
thanks Noel
Turns out there were 2 issues. The first was that the tool was taking 4-5 minutes to start (I timed it several times at around 4m 30s). I did not have the patience to wait, so I would try to start it again. Attempting to start the application when one had started, but no UI was showing invariable caused the application to hang.
Secondly if you start it as a headless application there is no way to stop it. So if you have it headless and then try to start the application it will cause it to hang. THe easiest way to tell if it is running is to follow the log information being written out as suggested by Psiion above in his link.
To kill the process, look in the task manager for the java process and kill it.
Just in case anyone stumbles across this post, my problem was I didn't have Java installed. I had removed it a few months ago due to security considerations.
You can stop your browsesr using Java easily by using the Java control panel http://www.java.com/en/download/help/disable_browser.xml
I was facing a similar issue, the ZAP tool was working fine on my local machine but was displaying erratic behavior on the Virtual Machine. I tried all the previously mentioned suggestions but none of them could mitigate the issue. Upon checking the log files i found out that the HSQLDB files were being locked even after closing the tool or even if the tool did not start. I eventually figured out that the difference between the 2 environments was just the operating system. My local had Windows 10 pro while the VM had Windows 10 enterprise. So in case if any one else is facing similar, kindly check the operating system.

VM automatic installation

I would love to have an idea on how to automatically install a Windows XP virtual machine on Virtualbox/VmWare. Is this feasable via a programming language, for example ? Or maybe an automated script ? I need this to avoid manual installation each time one of my VMs crashes.
I am not asking for a full program that does this, but I just needs technical hints on how to do this, then I will perform your suggestions myself.
Yes it's possible.
Can't you just make a snapshot to when the VM is working, or at least a "Clean Install" snapshot that saves having to reinstall your OS and common applications every time?
Yes, it is possible to do this via script. Actually, all IaaS cloud companies now try to do the deployment of VMs (and also physical servers) via automation. First of all, it's cheap a quick. And there is little human factor in it.
Not sure about VirtualBox, but if it works with VMware, KVM etc., there is no reason it shouldn't with VB.
As for the script itself, there are big money in this, so finding something may prove difficult. Try to check openStack, AFAIK it should be open source.

Simulating computer cluster on simple desktop to test parallel algorithms

I want to try and learn MPI as well as parallel programming.
Can a sandbox be created on my desktop PC?
How can this be done?
Linux and windows solutions are welcome.
If you want to learn MPI, you can definitely do it on a single PC (Most modern MPIs have shared memory based communication for local communication so you don't need additional configuration). So install a popular MPI (MPICH / OpenMPI) on a linux box and get going! If your programs are going to be CPU bound, I'd suggest only running job sizes that equal the number of processor cores on your machine.
Edit: Since you tagged it as a virtualization question, I wanted to add that you could also run MPI on multiple VMs (on VMPlayer or VirtualBox for example) and run your tests. This would need inter-vm networking to be configured (differs based on your virtualization software).
Whatever you choose (single PC vs VMs) it won't change the way you write your MPI programs. Since this is for learning MPI, I'd suggest going with the first approach (run multiple MPI programs on a single PC).
You don't need to have VMs running to launch multiple copies of your application that communicate using MPI .
MPI can help you a virtual cluster on a given single node by launching multiple copies of your applications.
One benifit though, of having it run in a VM is that (as you already mentioned) it provides sand boxing .Thus any issues if your application creates will remain limited to that VM which is running the app copy.