Wednesday, January 25, 2012

Collective Coordination of Conferences?

Around this time of year, I get a number of messages from students:  I want to take your class, but there's a conflict with this other class I want to take, what can be done...  Sometimes a solution can be worked out, sometimes not.  It's not an easy issue to deal with.  In Computer Science, we take a look at our own schedule of classes, and try to make sure there aren't any particularly bad time conflicts among our own classes, although inevitably there are some hopefully minor ones.  Then we try to look at other big classes in related areas -- try not to have our intro classes the same time as the intro economics, physics, statistics courses, etc.  Of course we also try to let them know when our big intro courses are, so they don't reschedule classes into those time slots as well.  In the end I think we do a reasonably good job.

That was a long-winded roundabout to where I wanted to get to, which is conference scheduling.  It's something that I think is becoming increasingly broken -- at least for theory conferences* -- due to the fact that there is (as far as I know) minimal coordination going on with respect to the calendar, and there's an ever-increasing number of conferences and workshops.  The near-overlap of ITCS and SODA is one obvious example.  The nearly-overlapping SPAA and PODC deadlines are another.**  I'm sure one can come up with hosts of others, and that's excluding the issue of trying to coordinate with other adjacent fields.  (For many years, INFOCOM and SODA deadlines, as I recall, were within a couple of days of each other -- and July 4th!  Not friendly, especially not family friendly.) 

I'm not claiming we want full centralization of conference scheduling.  But I do think there should be a lot more of it than we have.  A lot of aspects of the conference calendar -- dates, how many conferences we have, where they're located -- don't make a lot of sense to me, and I think that's because they don't make a lot sense.  I don't know how we arrange for a body to try to look at where we're at and figure out how to make it globally better.  But I wish someone would!   

* I haven't noticed this so much for other areas -- in networking, SIGCOMM, INFOCOM, NSDI, IMC, and even Allerton have always seemed reasonably spread out to me, but perhaps I just haven't noticed the problem.

** I've thought SPAA and PODC should have some sort of "merge" for almost 20 years now.  You're different communities?  Fine.  Then arrange a permanent co-location agreement.  It would be better for both conferences.  

Sunday, July 17, 2011

Manage Intel RAID under GNU/Linux using mdadm tool

You may be interesting to read some history about RAID first.
This article is about managing Intel RAID, with mdadm tool, but some information may apply to others kinds.
To begin, you can find lots of information about RAID under GNU/Linux.

IMPORTANT: for Intel's IMSM support you need at least
version 3.2 of mdadm tool (thanks to Iwan for this information).

Usually, there is a container device (let's call it /dev/md127 in this article), and the RAID device (let's call it /dev/md126 in this article).
Instead of long blabla, this article will give some common commands to help manage Intel RAID with mdadm tool.

To report the RAID information from the Option ROM (for instance "Intel(R) Matrix Storage Manager"):
mdadm --detail-platform

To get general details:
mdadm -D /dev/md127

To examine information (including members):
mdadm -E /dev/md127

To assemble the RAID array inside the container, and/or to start it (the -e option declares the style of RAID metadata (superblock) to be used):
mdadm -I -e imsm /dev/md127

To check the current state:
cat /proc/mdstat

Output sample (with a RAID 10 having 4 members):
Personalities : [raid10]
md126 : active raid10 sda[3] sdb[2] sdc[1] sdd[0]
      3907023872 blocks super external:/md127/0 64K chunks 2 near-copies [4/4] [UUUU]
      [=>...................]  resync =  6.6% (258923904/3907024128) finish=305.7min speed=198882K/sec
     
md127 : inactive sdb[3](S) sda[2](S) sdc[1](S) sdd[0](S)
      9028 blocks super external:imsm

To add it to the configuration file (to be activated automagically at boot):
mdadm --examine --scan >> /etc/mdadm.conf

For advanced commands (including repairing), you should read this.

RAID 10 on Intel ICH10R under GNU/Linux (including HDD devices on Marvell 88SE9128)

After my experience to setup a RAID 0 on Intel ICH10R Vs Marvell 88SE9128; I've recently experienced the setup of
a RAID 10 on Intel ICH10R, using the mdadm tool.

To begin, I've never succeeded to install a bootable Operating System directly on the RAID (tested with Fedora 12, Fedora 13, Fedora 14, Ubuntu 10.04 LTS and Mandriva 2010.1).
So I added an additional HDD device dedicated to the OS, that I plugged on the Marvell 88SE9128 (at the moment, it was more easy with cables).
This time, the OS was bootable, but asap there was more or less I/O stress on drives (OS or RAID ones), the system failed with lots of severe I/O errors, and eventually one of the RAID HDD was declared offline (although it was healthy).

As soon as I plugged all the HDD devices on the Intel ICH10R controller (and after a last OS installation ...), everything became perfect : very efficient and very stable with absolutely no I/O error whatever the stress.
For information, there is no problem with optical devices on the Marvell 88SE9128 controller.

Like in my last article on this subject, I can only conclude that if ever there is a RAID configuration on a system, no HDD devices should be plugged to the Marvell 88SE9128 controller; otherwise the system will be strongly instable and will eventually fail.

Some history about Intel RAID under GNU/Linux (dmraid/mdadm)

Although RAID is supported under GNU/Linux since many years, it is not trivial either.
This article is about Intel RAID, but some information may apply to others kinds.

There is at least two tools allowing to manage RAID devices:

 - dmraid (Device-mapper RAID tool and library)
 - mdadm (controls Linux md devices - software RAID arrays)

Intel RAID can be regarded as pseudo-Hardware-based RAID or Software-based RAID, so the 2 tools can be used.
Anyway, mdadm is more commonly used with modern distribution (for instance Fedora switched from dmraid to mdraid since version 12).

Besides, if you ever have a problem after an OS upgrade, with an existing RAID that you manage with dmraid, you should use the kernel option "noiswmd" which will make the system use dmraid for Intel BIOS RAID instead of mdraid.

Thursday, June 9, 2011

Get KDE4.6 applications smooth again !

Since KDE4.6, some of KDE applications can be very ...
very slow sometimes (kate, konqueror, dolphin).

One of the workaround is too specify another Qt graphical system, for instance using raster:
kate --graphicssystem raster
dolphin --graphicssystem raster

Wednesday, June 8, 2011

Configure easily themes of GTK+ applications, QT4 applications ...

It's not always immediate to configure Themes of Desktop Environment, GTK+ applications and Qt4 applications separately.
For Desktop environment, there is usually embedded tools.

For GTK+ applications, we can use the gtk-chtheme tool.
Under RedHat-like GNU/Linux, it can be installed with the package of the same name:
yum install gtk-chtheme
Each user wanted to configure his GTK+ applications theme can then use this tool.

For Qt4 applications, we can use the qt-config tool.
Under RedHat-like GNU/Linux, it can be installed like that:
yum install qtconfig-qt4
Each user wanted to configure his Qt4 applications theme can then use this tool.

Lots of themes can be found on OpenDesktop.

Friday, June 3, 2011

Control your GNU/Bash Prompt

With GNU/Bash, it is easy to control your prompt, defining PS1 (and optionally PS2 to PS4) environment variable.

For better legibility or whatever reason, you may want to
add further information or colors to prompt.
For instance you can see this page, and this one.

But it is very important to escape special characters dedicated to colors.
For instance, this prompt will NOT work:
export PS1="\e[0;32m\t\e[0m \u@\h:\e[0;36m\W\e[0m$ "

With this prompt, GNU/Bash will NOT work properly while breaking lines (for instance if its length if greater than limit) or while moving to begin/end of them.
To work, it is needed to add escaped bracket between each color escaped characters; this is a working prompt with colors (starting with date and time, and then usual information: user name, host and relative path):
export PS1="\[\e[0;32m\]\t\[\e[0m\] \u@\h:\[\e[0;36m\]\W\[\e[0m\]$ "

To persist your GNU/Bash prompt, you can add this in a GNU/Bash startup file (e.g. $HOME/.bashrc).