Tuesday, 15 June 2010
Would you like a free software trial?
For the next 3 months, the NGS partner resource at Leeds and Schrodinger are offering NGS users a free trial of the Virtual Screening workflow from Schrodinger's structure based design tools.
Schrödinger software has been used on national and regional high performance computing centers as a way of providing access to greater computing power, particularly for applications such as high throughput virtual screening. As part of this initiative they are offering a three-month evaluation of Schrödinger’s structure based design tools to all academic users accessing the NGS resources.
You don't need to be an existing user of the software - just a NGS user. Through the trial you'll gain access to an interface for full protein and ligand preparation and high throughput access to Schrödinger’s Glide docking application for screening of large datasets via your existing NGS access.
If you are interested in taking advantage of this offer, please see the news item on the NGS website.
Friday, 11 June 2010
Licensed to grid
Software licensing: where legalise and technical gobbledy-gook meet.
When you hit the 'I agree' button - after carefully reading the license terms, naturally - you are promising the software vendor that you will look after their little bundle of binary and not let it fall into the wrong hands.
It is not always easy to identify whose hands are the wrong ones. Licenses can cover individuals or research groups, users of a particular host or whole institutions and, sometimes, national and international collaborations. They do not usually cover whole grids.
So in addition to the technical issues, you need to keep licensing in mind if you make a resource available to people outside your research group or institution. This posting will describe some of the techniques developed by the NGS partners to cope with the complicated business of licensing on a grid.
Starting with the simplest problem. Free software is comparatively painless as long as 'free' means Open-source licensed. Examples of this kind of package from the list of applications available on the NGS partner sites include GROMACS and AUTODOCK 4.
And sitting awkwardly in the middle are those applications that use could be called honesty box licensing. There are no technical barriers preventing the code from running but users must agree to license terms before they are allowed to run them.
Honesty box licensing covers packages such as: Amber, Castep, DL_POLY, GAMESS (US) PC-GAMESS/Firefly. Academics can typically obtain the rights to use thse packages for a comparatively small fee - or even for nothing - as long as they are used for academic research. Licensing is seen as a means of tracking users or protecting intellectual property rather than as a way of making money.
NGS partner sites have ways of providing access to FlexNet licensed software and that relying on the honesty box approach.
Where FlexNet in used, sites have installed the software but do not provide a valid local license.
These packages are aimed at users with access to floating licenses and their own FlexLM license servers. The users need to arrange their local firewalls so this license server is accessible from the NGS partner site. FlexNet generally allows the location of license to be specified via an environment variable such as LM_LICENSE_FILE.
NOTE: If you are thinking of using this approach, you need to confirm that the legal bits of the license allow it.
Honesty box licenses are usually managed by restricting access to the software to a particular group of users. Only accounts belonging to users who are known to have signed the license are added to the group.
This is where The Grid adds an extra layer of complexity. Many sites automatically allocate an account only on the first time that user's certificate is seen. You cannot be in the group if you do not have an account.
Hopefully, any nastiness is hidden from the license holder. If you are a license holder, simply contact the helpdesk on support@grid-support.ac.uk after your first use of a resource and ask to be granted access to the application.
Whoever answers the request will need to confirm that you are a legitimate license holder. This will usually be nothing more than a short email exchange but can be more drawn out for more commercially sensitive packages.
Neither the NGS staff or the user want to go through this process more than once so we need to record who the known licensees are.
As we are a virtually organised, we add the licensees to a special applications.ngs.ac.uk virtual organisation and assign them to groups representing particular applications. Sites admins can download the group membership from the VO and use this to control local group membership.
Sites can update the groups by whatever mechanism best fits their systems. At Leeds, we use a locally written tool called x509runsetgid.
X509runsetgid is available from the NGS area at NeSCForge and uses the Unix set-group-id or setgid mechanism. The tool will launch a program as if owned by a particular group only if the user presents a certificate that recognised as part of that group. The list of users is usually downloaded from the applications.ngs.ac.uk VO.
The set-group-id approach is not without problems. The major one is that proxy certificates typically last 12 hours, so if the queues are long and the job takes a while to start running, the proxy is no longer valid by the time it is checked.
We are improving the way we support the applications.ngs.ac.uk VO as part of the NGS's Research and Development work.
The VO has been maintained manually: a rather slow and painstaking business.
Over the last few weeks, the database developers at Manchester have added tagging to the NGS User Accounts Service. A tag is simply a label that can be associated with a group of users, a virtual organisation and a role or group within that virtual organisation.
Development work is underway to automatically update the membership of selected virtual organisations, including applications.ngs.ac.uk from the information in the tags.
We will, of course, be making as much of the software as we can available.... under an open-source license.
Thursday, 10 June 2010
New on the website!
We've got a new poll up on the website asking if you would like the NGS to provide an academic cloud service. Now we've all heard a lot about clouds over the last few months as it seems to be the buzzword of the moment but do you really want one? Yes, no , not sure? All answers are welcome and it will take less than 5 secs to record your opinion. See the home page of the NGS website to vote!
I also finished off the 11th edition (yes really...) of the NGS quarterly newsletter this week and it's now up on the website. There is a wide range of articles in the newsletter covering topics such as the EGI and the role the NGS is playing in this, how the NGS is demonstrating global interoperability, a user case study showing how researchers actually use our resources, an introduction to our University of Sheffield member site and much more. It never fails to surprise me just how much is going on at the NGS and how much we have to report back to our users through our newsletter each quarter.
I'm already planning the next edition of the newsletter which will be out in time for AHM so if you have any ideas for articles then please let me know!
Tuesday, 8 June 2010
Gearing up for AHM
There will be a good turn out from the NGS as always with several papers submitted from our team and an exhibition stand publicising the NGS and the NGI in conjunction with GridPP. I'm not sure what we'll be demo-ing on our stand yet but I''m sure it will be something exciting.
As many people know the AHM unfortunately clashes with the inaugural EGI meeting in Amsterdam but all is not lost as there are direct flights several times a day from Cardiff to Amsterdam so it may be possible to attend both meetings!
I'm just glad that the AHM has moved back to September as it means that I have the quieter months of July and August to get everything ready for the event!
Friday, 4 June 2010
Too much of an adequate thing
There are two quotes that sum up much of the technology behind grid computing.
The first..
All problems in computer science can be solved by another level of indirection... Except for the problem of too many layers of indirection.
has been variously attributed to the computer scientists Butler Lampson and David Wheeler. In the grid world, indirection is spelled M-I-D-D-L-E-W-A-R-E.
The other?
XML is like violence – if it doesn’t solve your problems, you are not using enough of it.
Variations on this can be found scattered around the internet because XML - the eXtensible Markup Language - is everywhere. Sometimes because it is the right tool for the job, frequently because it is an adequate tool for the job.
It is the right tool for the job when that job is marking up - superimposing a structure on what would otherwise be stream of text.
Scholars in digital humanities use XML schema from the Text Encoding Initiative - and elsewhere - with material as diverse as Chaucer's Canterbury Tales, the Concise Icelandic-English Dictionary and the writings of Mark Twain.
XML parsers such as Apache Xerces can read this data and store it in XML-aware databases such as eXist. These databases can be queried on both their content and their structure using technology such as XQuery and XPath. The tools are complicated to learn but we have the excuse that they are doing a complicated task.
But, as anyone who has experience of modern software will tell you, XML is used for far more than marking up text. It is used as the basis for the SOAP protocol and the Web Services Resource Framework used by the Globus Toolkit and UNICORE.
Pragmatism helped spread XML. It was good enough. It could be understood by looking at it. There are libraries available to generate and process it. Modern development environments such as Eclipse and Netbeans can edit it without the tripping over the angle-brackets.
XML is designed to be flexible enough to cope with ambiguous human text. Computers don't cope well with ambiguity and - as NGS staff discovered during the roll out of the SARoNGS service - XML can be ambiguous in very inventive ways.
SARoNGS, for those who have yet to meet it, is a way of generating restricted certificates for users who can present institutional usernames and passwords. It was intended as a lightweight alternative to applying for a full e-Science certificate.
SARoNGS is uses the Shibboleth service managed by the UK Access Management Federation to authenticate users. Shibboleth is designed to authenticate access to web sites and widely used as a way of accessing academic journals. It is built on SOAP. SOAP is built on XML.
Shibboleth is designed so that the user only ever enters his or her username into a web-page provided by his or her home institution. This is called the Identity Provider or idP. If you try to connect to a Shibboleth-protected service, you will eventually be sent to your local idP.The idP confirms that you are indeed a fine, upstanding member of the University of Whatever in two distinct messages - known as assertions - one delivered via your web browser, one delivered directly to the Shibboleth-protected service. Think of it as a way of linking your browser, your home institution and the service together.
These messages are heavily disguised XML.
When users from Leeds and some other large Universities tried to use the service - they failed. SARoNGS would see nothing.
Further investigation showed that both messages were being sent but one was being rejected on arrival.
At the time SARoNGS was the only service within the Access Management Federation that insisted on assertions being digitally signed.
Because there are many ways of formatting the same information in XML, signing a lump of XML involves first converting it to a canonical form by - for example - replacing certain character sequences by their Canonical counterparts. This is further complicated by XML Namespaces designed to allow different XML dialects to be used in the same document.
The SARoNGS developers eventually tracked down a small bug - known as JXT-55 - in an XML toolkit used by some versions of Shibboleth. JXT-55 had inadvertently squeezed two different versions of an XML dialect called the Security Assertion Markup Language into the same namespace.
Some time between the XML being canonicalised for signing and being sent, an XML 'cleanup' routine stripped out what looked to it like duplicate data. This invalidated the signature and the message was rejected.
Users in institutions running older Shibboleth services - which included the buggy code - could not use SARoNGS, those running newer ones could.
Discovering this took several weeks of effort and frustration by half-a-dozen people at 4 universities.
XML is like violence in one sense - it can be a source of a great deal of pain.
[Edit: 6-Jun to provide more details of The Little Bug that broke SARoNGS]
Thursday, 3 June 2010
Free places at the TransferSummit
If you haven't been before (or heard of it!), it's an opportunity for academics, the research community and business executives to talk about the requirements, challenges, and opportunities in the use, development, licensing, and future of Open Source technology.
This isn't your usual "death by PowerPoint" conference either. There will be three tracks, a Gala Dinner and a BarCamp over the 2 days ensuring that everyone has a good chance to contribute to the discussion.
If you'd like to attend then please email OSS Watch to obtain a discount code.
Tuesday, 1 June 2010
NGS Innovation Forum 2010 announced!
We have had two very successful events in Manchester and London so far with over 250 people attending. We hope to make the third event even better still with new opportunities for participants to be directly involved.
Again the event will be aimed at users, IT staff, researchers and others who are interested in the NGS and what it does. Participants have the option of attending for one or two days and accommodation is available on-site.
Watch this space for more details to be announced shortly regarding the programme but in the meantime make sure you put the date in your diary!