Tuesday, February 8, 2011

Many-task applications and divisible load theory

Recently, I found a paper about a new kind of applications named 'Many-task applications'. Those applications fill a gap between high performance computing and high throughput computing. Better say, those applications regard with bulk of tasks may be static or dynamic, homogeneous or heterogeneous, loosely coupled or tightly coupled, [1].
Divisible load theory offers another approach to the scheduling problem. DLT, for short, has been widely studied and applied to different distributed and large scale scenarios with important restrictions about the nature of the applications to be scheduled. However, DLT provides a close and optimal solution when some restrictions are observed.
It's important, then, to analyse the nature and characteristics of many-task applications in such a way that DLT approach can be successfully applied under circumvented  circumstances.


[1] Many-task computing for grids and supercomputers. I. Raicu, I. Foster, Y. Zhao, 2008.
[2] Scheduling many-task workloads on supercomputers; dealing with trailing tasks. T. Armstrong, Z. Zhang, D. Katz, M. Wilde, I. Foster, 2010.


Friday, February 4, 2011

Working with Qemu and GNS3

QEMU is an open source machine emulator. It is used by GNS3 to emulate PCs into network topologies defined by the user.
Why do we need a PC into a network topology? Linux-based PCs can be used as firewalls and routers. For our purposes we are interested in to deploy a virtual machine with firewall and router capabilities.
GNS3, our network simulation tool, exhibits valuable features but it lacks of consolidated documentation. As follow, I will provide some links for deploying a PC QEMU host in GNS3.
  • Downloading and configuring a QEMU-based image. The configuration steps are performed into GNS3.
  • Some tricks for running the terminal of the PC. The prior link suggests to modify some flags for configuring the VM image into GNS3, however the author of this link suggests no modify any flag if you require to access via terminal the PC host in GNS3 (Of course, we need it). I tested and worked BUT looks like there are connections problems with the deployed PC with other network equipments in the network topology.
  • Download the more recent version of GNS3. I'm working with GNS3 version 0.7.3 but the link above suggest to work with the development version of GNS3. 
Stay tuned!

Thursday, February 3, 2011

focus-follow-mouse

A desirable and useful behaviour under Linux GUIs is to get the focus of a window in which the mouse pointer is over. In Gnome, this behaviour is not enable by default, in fact, it isn't even configurable with the default administration/configuration tools. Two steps are then required to enable this feature
  1. Install the "control-center-extra" package. As root, execute "yum install control-center-extra"
  2. When the package is successfully installed, go to "System -> Preferences -> Window" and select the item "Select windows when the mouse moves over them"



References: Fedora forum



Monday, January 31, 2011

Setting up a Wireshark appliance

During this course we will use Wireshark for capturing network packets. Then, we would deploy an Ubuntu Linux based system in which install this sniffer tool.

When Linux appliance is up and running, as root user, type 'apt-get install wireshark'. Answer "Y" and then "ENTER" or just "ENTER". A bunch of packages start to download.

A note aside of this. If you have any window manager in your system, invoke the 'tasksel' command and select the "Ubuntu Desktop" option. This option would install the packages necessary for deploying a GUI that would ease your work with Wireshark.

Note: If you're experimenting problems with the screen resolution, first install the VirtualBox guest additions.

Friday, January 28, 2011

Preparing my network lab

This entry is two fold. First, provides me a record about what tools are required and how they are must be orchestrated for having a practical networking course. Second, gives a starting point to my alumni for setting up their own network lab.

Since Universidad del Valle, as many other universities, has limited resources, the networking laboratories would be executed on top of virtual environments and using open source software.

Well, let us start. As a virtualization tool I recommend VirtualBox. I know of other open source virtualization tools but I find VirtualBox particularly stable and easy to work with. VirtualBox allows the easy deployment of virtual machines running different operating systems (Windows NT, 2000, XP, Linux, Solaris, Mac OS X) that run on top of a similar number of host operating systems.

The selected guest operating system for the virtual machines(VM) is Ubuntu Server Edition. The main reason of this selection is because Ubuntu provides a JeOS (Just Enough Operating System) version of its server operating system. JeOS is characterized because it only installs the minimal set of components(operating system + system tools) that allows to barely run a Linux system.

Up to know, only the tools necessary for running virtual machines are mentioned however one interesting topic in computer networks is traffic analysis. For this task, Wireshark is the selected tool since it is the most widely used, documented and known sniffer at this time. Wireshark allows to analyse and filter network traffic by port, protocol, IP source/destination address, among others fields found in network packages/frames.

Given these tools, your first homework is:
  1. Install VirtualBox
  2. Download the current Ubuntu Server Edition
  3. Create two Ubuntu-based virtual machines. On one machine you would deploy your preferred window manager and you would also install wireshark. The second machine, no GUI or network service would be installed but SSH.
That's all.

Friday, January 21, 2011

Cluster or Cloud???

Recently, Universidad del Valle acquired a bunch of machines. I'm in charge of determining the best software solution for those machines. The acquired equipment is 10 BL645C G6 HP worker nodes and one DL385 G6 HP head node. Those computing elements come along with a storage solution with 4 TB of capacity.

This equipment will be dedicated to different research activities at Engineering Faculty. Initially, I decided to install a cluster-based operating system, e.g. Rocks; however with new open source cloud solutions I'm not sure what is the "best" choice. On one hand, OpenStack looks a strong candidate because it is totally open but I'm not sure how many troubles could arise during the deployment of that solution. On the other hand, Eucalyptus is a strong candidate but it could show restrictions on the community edition.

I would appreciate hear about your experience and any advice related with what technology is best suitable for attending the new coming computational demands.

Thanks so much for your help,


Thursday, January 20, 2011

Enabling network interfaces in a cloned Ubuntu-based appliance

Ubuntu is a widely used/deployed Linux-based distro. In fact, according to Linux Format (February - 2011), Ubuntu is the third most popular desktop OS.
However, network interfaces of an Ubuntu-based appliance exhibits an annoying behaviour when that appliance is executed on top of a different hardware from it was installed. This behaviour is also experimented when a virtual disk image is cloned and then used in a fresh virtual machine.
This short recipe shows how to overcome this awkward behaviour.
  1. Be sure that the operating system is unaware of any network interface. Log into the appliance and execute the 'ifconfig' command. The image below shows only the loopback device.

  2. Log into the 'root' account.
  3. Execute the following command '> /etc/udev/rules.d/70-persistent-net.rules'. This command empties the '70-persistent-net.rules' file.
  4. Now reboot your appliance and execute the 'ifconfig' command, again. You must see an output similar to the image below.