Why I owe @slugonamission a (or several) large drink(s)


gdb icon, created for the Open Icon Library
gdb icon, created for the Open Icon Library (Photo credit: Wikipedia)

I have been struggling with a problem with my Microblaze simulation on OVPsim all week.

I have been trying to make a start on implementing a simple demand paging system and to trigger the hardware exception that the Microblaze CPU manual says should happen when you either try to read from a mapped page that is not in the TLB (ie, a “minor” page fault) or has not been mapped at all (a “major” page fault).

My problem was that – despite having, I thought, specified all the correct parameters for the Microblaze and knowing that I had virtual memory mappings work well, it simply was not happening for me. Instead of the expected exception handling, the simulation reported an error and exited.

But Jamie Garside from the University of York’s computer science department saved my life by (correctly) pointing out that what I also needed to do was turn on ICM_ATTR_SIMEX. Otherwise the simulation will always exit on an exception (or halt in GDB).

I can see why that might make sense – at least the halting in the debugger bit: if an exception is about to be fired you can halt the machine while it is still executing in virtual, as opposed to real, mode and see what has caused it.

It was also a reminder to RTFM – in this case not just the Microblaze manual, but also the OVPsim manual. I cannot rely on Jamie doing that for me everytime.

So to fix my problem I ORed in the missing attribute:

#define SIM_ATTRS (ICM_ATTR_DEFAULT|ICM_ATTR_SIMEX)

Time to write a signal handler?


Unix Creators at DEC PDP11
Unix Creators at DEC PDP11 (Photo credit: PanelSwitchman)

I am trying to execute some self-written pieces of software that require a lot of wall clock time – around three weeks.

I run them on the University of York‘s compute server which is rebooted on the first Tuesday of every month, so the window for the software is limited. I have until about 7 am on 5 August before the next reboot.

To add to the complication the server runs Kerberos which does not seem to play well with the screen/NFS combination I am using.

And – I keep killing the applications in error – this time, just half an hour ago I assume I was on a dead terminal session (ie an ssh login which had long since expired) and pressed ctrl-C, only to my horror to discover it was a live screen (it had not responded to ctrl-A, ctrl-A for whatever reason).

Time to add a signal handler to catch ctrl-C to at least give me the option of changing my mind!

She’ll die soon, but everybody dies


Blade Runner 1982
Blade Runner 1982 (Photo credit: Dallas1200am)

If you recognise the line then chances are, like me, you saw the original cut of Blade Runner in the cinema (the line was changed in a subtle but very important way in later cuts).

The film is now over thirty years old – but like a true science fiction classic (2001: A Space Odyssey is the archetype) – it seems almost timeless and everytime you watch it you see something new.

And now the University of York is to consider the film alongside cave art and Shakespeare’s sonnets:

We chose these particular case studies for several reasons. We wanted examples of totally different art forms and media; we wanted a wide historical and cultural reach; we wanted artefacts that have already been subject to extensive debate (part of the interest is in the nature of those debates); and we wanted examples that might usefully reveal different aspects of the two principal kinds of values in our study. 

We are planning three intensive workshops on these case studies bringing together experts from different perspectives and disciplines: archaeologists and palaeontologists for the cave paintings, Shakespeare scholars and literary theorists for the Sonnets, film theorists and critics for the film. We are delighted, for example, that Jill Cook, who curated the highly successful exhibition on “Ice Age Art: Arrival of the Modern Mind” at the British Museum, will contribute to the Chauvet workshop. Throughout there will be an input also from aesthetics and philosophy of art. The interdisciplinary nature of the enquiry is crucial to it. 
The day long seminar on Blade Runner is on 11 April. Plus, there’s a showing: it’s not often you get to see the classics back in a theatre, so that might be of interest
Enhanced by Zemanta

On an Airbus 380, the toilet is a safety critical system


Airbus A380
Airbus A380 (Photo credit: Wikipedia)

As pointed out at the University of York’s real time systems group meeting yesterday…

The Airbus A380 is the world’s largest passenger airline and it flies long distances. As such its human waste management systems have to handle a large volume of material.

Of course the material that ends up in the system was on the plane from the moment in took off but at the moment of takeoff the weight is distributed throughout the plane while the longer the flight continues the more of that weight gets concentrated in the waste management system.

More than that – the plane is getting lighter all the time – because it is burning fuel – so not only does the weight get shifted to a more confined region of the plane, it is relatively more important.

Hence the software on the A380 that manages the toilets is a safety critical system – and has to meet some quite exacting standards.

Enhanced by Zemanta

How slow is a fast computer?


Valgrind
Valgrind (Photo credit: Wikipedia)

I am working on a simulation environment for a NoC. The idea is that we can take a memory reference string – generated by Valgrind – and then test how long it will take to execute with different memory models for the NoC. It’s at an early stage and still quite crude.

The data set it is working with is of the order of 200GB, though that covers 18 threads of execution and so, very roughly speaking, it is 18 data sets of just over 10GB each. I have written some parallel Groovy/Java code to handle it and the code seems to work, though there is a lot of work to be done.

I am running it on the University of York’s compute server – a beast with 32 cores and a lot of memory. But it is slow, slow, slow. My current estimate is that it would take about 10 weeks to crunch a whole dataset. The code is slow because we have to synchronise the threads to model the inherent parallelism of the NoC. The whole thing is a demonstration – with a vengeance – of Amdahl’s Law.

Even in as long a project as a PhD I don’t have 10 weeks per dataset going free, so this is a problem!

Computer science in the UK: in the wrong direction?


Servers designed for Linux
Servers designed for Linux (Photo credit: Wikipedia)

Two big thoughts strike me as a result of the literature review I have just completed for my PhD:

  • Linux is not the centre of the universe, in fact it is a bit of an intellectual backwater;
  • The UK may have played as big a role in the invention of the electronic computer as the US, but these days it is hardly even in the game in many areas of computing research.

On the first point I am in danger of sounding like Andy “Linux is obsolete” Tanenbaum – but it is certainly the case that Linux is far from the cutting edge in operating system research. If massively parallel systems do break through to the desktop it is difficult to imagine they will be running Linux (or any monolithic operating system).

In fact the first generation may do – because nobody has anything else right now – but Linux will be a kludge in that case.

Doing my MSc which did focus on a Linux related problem, it seemed to me that we had come close to “the end of history” in  operating system research – ie the issue now was fine tuning the models we had settled on. The big issues had been dealt with in the late 60s, the 70s and the 80s.

Now I know different. Operating systems research is very vibrant and there are lots of new models competing for attention.

But along the way the UK dropped out of the picture. Read some papers on the development of virtual memory and it will not be long before you come across the seminal experiment conducted on EMAS – the Edinburgh University Multiple Access System – which was still in use when I was there in 1984. Now you will struggle to find any UK university – with the limited exceptions of Cambridge and York (for real-time) – making any impact (at least that’s how it seems to me).

It’s not that the Americans run the show either – German, Swiss and Italian universities are leading centres of research into systems software.

I am not sure how or why the UK slipped behind, but it feels like a mistake to me – especially as I think new hardware models are going to drive a lot of software innovation in the next decade (well, I would say that, wouldn’t I?)

Spaceapps challenge at York


An email from the University which may be of interest:

 

Hi there,

On the weekend of 20th and 21st April 2013, the Department of
Computer Science, University of York will be hosting the International
Space Apps Challenge, a free 2-day event on developing apps as
solutions that address real-world critical challenges set by NASA.

Participants compete against teams globally to win prizes, with the
winning team receiving special attention from NASA including a support
package to further develop the winning app.

No programming experience is necessary, just an enthusiasm for solving
problems. However, if you are a programmer and want to develop an app
that’s great, you are also very welcome to sign up.

The International Space Apps Challenge is a unique codeathon event,
which is happening in 50 locations worldwide simultaneously across the
weekend. It is your chance to develop solutions to real world problems
set by NASA, and your solution could have an immediate impact.

At the event, you will form a team with others taking part in the
codeathon, and you and your team will be focused on solving a particular
challenge. You will compete with other teams from around the world and
you will be able to use publicly available data to create your own solution
to NASA’s global challenges.

If you’d like more details on the event, visit our website at
http://2013.spaceappschallenge.org/locations/york/

or visit the official NASA Space Apps Challenge website at
http://spaceappschallenge.org/

You can keep in touch via Facebook at
https://www.facebook.com/SpaceAppsYork

and follow us on twitter https://twitter.com/spaceappsyork

If you have any questions, please don’t hesitate to contact us on
Spaceappsyork@gmail.com

Best wishes

SpaceAppsChallenge-York Team