The goal of this site is to put relevant and applicable tools and information at the fingertips
With this blog we want to inform you on our latest initiatives.
Enjoy reading and stay tuned!
As your all aware from one of my recent posts HPC customers now have access to additional resources, which have been made available with the release of Windows HPC Server 2008 R2 Service Pack 2. I am pleased to announce the availability of a new white paper entitled Introducing Windows HPC Server 2008 R2 SP2 which can be downloaded via the Microsoft Download Center.
The paper is available for FREE and is authored by David Chappell, Principal of DavidChappell & Associates, and is designed to provide insight into Windows HPC Server for those running parallel applications on clusters. Chappell explains. “The goal is to support high-performance computing (HPC), a category that includes a range of applications that can benefit from being distributed across a cluster. To allow this, Windows HPC Server 2008 R2 Service Pack (SP) 2 supports four major types of parallel applications. This paper provides an introduction to Windows HPC Server 2008 R2 SP2, including a look at the services it provides for creating and using clusters and an overview of how it supports each of the four application types. With today’s broader notion of cluster, which includes desktop workstations and cloud instances as well as traditional on-premises servers, adopting this technology has gotten easier.” The whitepaper describes the following methods of parallel applications supported by Windows HPC Server 2008 R2 SP2
Windows HPC Server 2008 R2 Service Pack 2 (SP2) RTM is available for download here.
Today I’m excited to share with some exciting development news relating to Microsoft Surface and how were helping you support the next generation device – the Samsung SUR40 Microsoft Surface.
Microsoft Surface 2.0 SDK releases next week!
At MIX 2011, the Surface Team announced that they would release our SDK this summer. I am happy to share with you that the SDK will be available for public download for free from the Microsoft Download Center on July 12th.
For those of you who haven't seen or heard of Surface SUR40 please watch the following video from the MIX11 Conference
Here are some of the new features which are ideal in the academic teaching learning and research space.
1. The SDK now runs on the latest technologies: WPF 4.0, XNA 4.0, Windows 7 (32 bit and 64 bit).
2. Multiplatform support the new SDK target both Microsoft Surface Hardware and Windows 7 Touch enabled PCs with a single SDK. The surface team have coined the phrase “Write once - touch anywhere”. That means that the same binary can be used in both types of hardware and for you this means you can get developing for surface using multitouch PCs which will save budgets and mean you can get developing today!
3. The ability to actually query the hardware capabilities of the device.
4. New APIs for you to query the capabilities of the hardware (maximum number of touches recognized by the hardware, whether the hardware can actually distinguish touches caused by fingers versus other touches, tag recognition support, tilt support, etc.)
You can learn more about adapting your application to the environment here.
5. The availability of a Microsoft Surface Input Simulator. For more information on our new Input Simulator, check out the Surface Team blog post.
6. A new look consistent with other Microsoft Products such as Zune and Windows Phone. The style is clean, simple yet elegant.
7. The ability to port a Surface v1 application, check out the Microsoft Surface Migration PowerToy will be available via the Code Gallery on July 12 as well the PowerToy is also open source in case you want to tweak it for your needs.
Introducing the Microsoft Surface Design and Development Center on MSDN The Microsoft Surface Design and Development Center provides access to the Microsoft Surface 2.0 SDK, online training, hands on labs, design and interaction guidelines, application certification, documentation, whitepapers, developer forums and other resources. The Design and Development Center focuses on helping people get jumpstarted with developing amazing new vision based touch applications that people can share at the same time.
Microsoft Surface Online Training Resources
The online training is a course that enables people to learn about planning, designing, developing, testing, and deploying Microsoft Surface 2.0 applications for use on the Samsung SUR40 for Microsoft Surface and Windows 7 touch PCs. People proceed through the course at their own pace, or jump directly to the topics which they need. Hands on labs provide developers and designers with a guided opportunity to start building applications and get familiarized with the Microsoft Surface 2.0 SDK. Design and interaction guidelines, certification, and SDK documentation help outline the best practices for making great touch applications that draw on the power of vision input and object interaction. The developer forums are a place that the Surface development community can share information, get help and support.
For more information on Microsoft Surface see the Microsoft Surface Team Blog at http://blogs.msdn.com/b/surface/
Are your students going to be sitting around this summer bored out of their minds? Why not promote the following opportunity and get them to use their free time and apply their newly learnt skills to the following opportunity?
The Windows Phone team has set aside 50 phones running the latest Mango bits for students who are eager to take on a fun summer project.
To get your hands on one of these phones, here’s what you do:
1.) Register for the DreamSpark program, if you haven’t already. The DreamSpark program puts Microsoft software in your hands – for free!. Register now!
2.) Download and install Expression Studio Ultimate and the new Windows Phone SDK 7.1 Beta 2 (available free as a member of DreamSpark)
3.) Get the free Sketchflow Template for Windows Phone and create a SketchFlow mock-up of your app idea.
4.) Post the SketchFlow mock-up somewhere online and tweet out the link using the hash tag #WPAppItUp.
The Windows Phone team will review the submissions and will contact the developers with the best ones and send them their very own Mango developer phone!
If you’re new to SketchFlow, there are some great training videos on the Expression Community site.
What is Windows Azure? Windows Azure is a platform for building scalable, highly reliable, multi-tiered web service applications. It is hosted on Microsoft’s large data centers in the United States, Europe, and Asia. Windows Azure has both compute and data resources. The compute resources are designed to allow applications to scale to thousands of servers and data resources. For more information on Windows Azure keep an eye on the Windows Azure team blog.
What types of research projects are well suited to Azure? Windows Azure can be an excellent research platform for many types of research. However, it is designed to support scalable web services, so projects that play to this strength will have the most success. One area of particular interest is computational models and techniques that augment the capabilities of client devices, ranging from feature rich desktop and laptop computers to cell phones of other mobile devices with data and computation resources in the cloud. How can we make the cloud into a transparent extension and experience amplifier of our client-based research tools?
Others interesting areas include:
Research to support intelligent interactions leveraging web data and domain knowledge.
Will Hadoop or Dryad/LINQ be available on Azure? There is no port of Hadoop or Dryad/LINQ currently available. However, Windows Azure is an excellent platform for experimenting with new variations on large-scale map-reduce algorithms, as these patterns are easily coded as worker role networks.
Can I run my MPI HPC applications on Windows Azure? Windows Azure is not designed to replace the traditional HPC supercomputer. In its current data center configuration it does not have the high-bandwidth, low-latency communication model that is appropriate for tightly-coupled MPI jobs. However, Windows Azure can be used to host large parallel computations that do not require MPI messaging, such as ensemble or parameter sweep studies.
Can Azure be useful as an experimental host for distributed computing research? Yes. Windows Azure worker roles have access to standard TCP/IP sockets on each virtual machine (VM) in which they run. Hence it is possible to use a large number of worker roles to experiment with distributed computing algorithms and protocols.
Can Azure be used to support collaborations and “science gateways”? Yes. Windows Azure is an excellent platform for sharing “community” data and data analysis tools. Most science gateways are built as web portals and Windows Azure is ideally suited for this task.
What data collections will be made available? We will be very interested in suggestions from researchers about important community data collections and tools that can be hosted. We currently have data collections from the NCBI genome databases, oceanographic instrument data, and some MODIS satellite data. We also are providing access to web scale n-grams via a service. However, our goal is to let the research community help us define a sustainable collection of shared resources and analysis tools.
The Web N-gram Services, provided by Microsoft Research in partnership with Microsoft Bing, will provide researchers access to large scale real-world datasets and benchmarks. Access to the Web N-gram Services will be made available to NSF awardees, with the following properties:
N-gram models can advance research in areas such as document representation and content analysis (for example, clustering, classification, and information extraction), query analysis (for example, query suggestion and query reformulation), retrieval models and ranking, spelling, and machine translation. They can also improve intelligent interactions with better dialogue modeling (for example, semantic relations and summarization).
What is the programming model? A Windows Azure program is a scalable, multi-tiered web service. The service consists of one or more “web roles,” which are standard web service processes, and “worker roles,” which are computational and data management processes. Roles communicate by passing messages through queues or sockets. The number of instances of each type of role is determined by the developer when the application is deployed and each role is assigned by Windows Azure to a unique Windows Server virtual machine (VM) instance. (Currently no more than one VM instance runs on an individual core.)
What types compute instances are available on Windows Azure? Each Windows Azure compute instance (web role or worker role) represents a virtual server. Although many resources are dedicated to a particular instance, some resources associated to I/O performance, such as network bandwidth and disk subsystem, are shared among the compute instances on the same physical host. During periods when a shared resource is not fully utilized, you can utilize a higher share of that resource. Each Windows Azure data center server currently has 8 cores, 14 GB of memory, and 2 TB of disk space. An instance can be mapped to one or more cores with the memory and resources divided evenly. The table below describes the way the resources are partitioned on each server.
Compute Instance Size
2 x 1.6 GHz
4 x 1.6 GHz
8 x 1.6 GHz
Windows Azure Pricing Calculator
What virtual machine (VM) types are available? Can I configure my own VM? Windows Azure automatically configures and manages Windows Server VM instances for your application. In the current version of Windows Azure, you cannot remotely connect and run a remote desktop on this VM instance. The VM instances are managed and deployed by the Windows Azure Fabric Controller and you interact with the Fabric Controller though the Windows Azure web interface.
What types of data storage are available on Windows Azure? There are basically five storage systems. Blob storage is for long-term data. Blobs are binary objects together with <name, value> pair metadata. Each blob can be up to 50 GB and blobs are grouped into logical containers. Blobs are replicated three times in the data center for reliability purposes and they can be accessed from any server or by a URL over the Internet. Table storage is another type of persistent storage. A table can be very large (millions of rows and columns) and is partitioned by rows and distributed over the storage nodes in Windows Azure. It is also triply replicated. Tables are not full SQL tables because there is no join operator. Within the compute node there are two types of storage. Local disk is available to each Windows Azure role, but this is not persistent. If your role process goes down it may be restarted on another node, so the local disk is not for persistent data. However, XDrives are virtual drives that can be mounted on a Windows Azure VM instance and they are backed by the blob storage system so that they are persistent. The queue system is also part of the persistent Windows Azure storage model.
Can I run the Windows Azure software stack on my own private cluster? Not currently. Windows Azure is a public cloud service and it is not available as a software product.
What languages/compilers are available? What IDEs can be used with Azure? Applications on Windows Azure are designed and debugged completely on the programmer’s local machine. So any compiler that generates a Windows binary can be used. Microsoft Visual Studio has a “plug-in” for Windows Azure that makes the construction of Windows Azure applications extremely simple. The plug-in allows the programmer to test the application on a local Windows Azure emulator. When the programmer is ready to deploy the application on Windows Azure, the binaries are uploaded through a web interface. This interface also controls deployment parameters such as the number of server instances to be used. Visual Studio is not required.
The application program can also use a plug-in for the Eclipse software framework if that is preferred. Programmers can use Java, Ruby, Python, and C++. We have examples that illustrate how to deploy the Apache Tomcat server on Windows Azure for the web role.
What scientific libraries will be available? We are working on a list of these currently.
Can I run Matlab on Azure? Matlab can be used to “compile” a Matlab application and it is possible to upload this compiled code and libraries to Windows Azure. We have not yet installed a complete Matlab instance on Windows Azure, but it is a project currently under study.
Can I run arbitrary applications as Azure workers? In general, any Windows binary that does not require modifications to the Windows operating system or registry can be loaded and run as part of a Windows Azure role. This includes compiled C, C++, or Fortran programs as well as Java, Python, PHP, and Ruby applications.
How can I use custom libraries with my Azure applications? When you use the IDE to build the application, you simply include the libraries with the application. The IDE will roll these up into the binary that is uploaded to Windows Azure when you deploy your application.
Can I manage collections of tasks (workflows) that involve local data and activities as well as Azure resident data and tasks? Yes. We have a sample Windows Azure service that can manage many concurrent tasks that run on Windows Azure as well as local compute resources. The tasks are arbitrary Windows executables that are wrapped as Windows Azure worker roles. The data that is used or produced can be in the Windows Azure replicated persistent storage or the local disk on each machine. This local storage is not persistent across deployments of your application; however, it is possible to mount a virtual disk that is part of the persistent storage.
Are there hooks in Azure to enable systems-level research on scheduling and resource allocation? Unfortunately, no. Windows Azure applications are controlled by the Azure Fabric controller, which has the responsibility of resource allocation and quality of service for all the currently running applications. Consequently, Windows Azure is not well suited to many systems-level research projects.
What dynamic scaling models are supported by Azure? The programmer must specify the number of each type of role to instantiate at deployment time. These numbers remain fixed until the application is de-deployed. However, it is possible to experiment with dynamic deployment in the application logic.
What performance guarantees can I expect from my applications? What is the interference between workers? Performance will be variable depending on the load on the data center. We will provide basic benchmark tools to help guide application designers to optimize performance. At any given time, Windows Azure will be running many applications in the data center and many of these are commercial customers who demand high levels of service. The research engagement project will receive the same level of support as these commercial users.
Will I be able to instrument my applications? Because you have no direct access to the Windows Server virtual machine instance, you will not be able to access instrumentation that requires administrator level authorization. However, you do have access to application logs and some performance counters, and application-level instrumentation is possible. A complete benchmark suite will be available that you can use to experiment with many performance features of Windows Azure.
How can I get my data into the Azure storage? There are several ways to move data. The most direct method is through the web API to the Windows Azure blob storage. It is also possible to take data stored in Microsoft Office Excel or Matlab and, by using plug-ins we provide, save your data directly in Windows Azure tables. There are also free GUI tools to manage Windows Azure storage from your desktop, such as the Cloud Storage Studio. OpenDAP services will be available for loading and serving data and an FTP application can be used to pull data from FTP sites.
Are there ways to connect desktop or mobile applications to Azure services? Windows Azure is a web service platform, so any web-based protocol can be used to build applications that fully integrate the cloud. This is how the plug-ins for Matlab and Office Excel were built.
Are there data visualization tools available for Azure resident data collections? Both Excel and Matlab running on the desktop can be used to visualize data stored on Windows Azure. More sophisticated local and remote visualization tools will be made available.
What will the Microsoft Research Cloud Research Engagement Team provide to the research community? The engagement team will support the community of researchers through the following:
Develop tutorials and white papers for a general overview of Windows Azure, identify best practices, and provide a benchmark suite as a guide for application architects and developers.
Microsoft David Catuhe’s work is too brilliant not to shared so if your interested in Kinect SDK Development then you need to check out David’s Gestures and toolkit library for Kinect at http://blogs.msdn.com/b/eternalcoding/archive/2011/07/04/gestures-and-tools-for-kinect.aspx
David has also produced the following codeplex project http://kinecttoolkit.codeplex.com/
Details of the library:
· SwipeGestureDetector class will allow you to detect simple gestures (such as swipe to left or swipe to right)
· TemplateGestureDetector will allow you to detect gestures using templates:
The class can record templates and save them in a file used by a learning machine. With this learning machine, the system try to detect one of the recorded template in the current list of positions.
You can see on the UI the list of used templates:
PostureDetector allows you to detect simple postures such as:
· Hand over head
· Hands joined
3. Skeleton stability
BarycenterHelper class can detect for you if a skeleton is stable (not moving). With this tool, you can detect wrong gestures produced by a moving skeleton
4. Debug and replay
· To help you debug, the library includes a record/replay of skeletons frames. With this tool, developing with Kinect is much less sportJ
· The library can also paint current saved positions for gestures detection
For further details and full code samples see http://blogs.msdn.com/b/eternalcoding/archive/2011/07/04/gestures-and-tools-for-kinect.aspx
Last week I attended the International Conference on the Foundations of Digital Games which was hosted in the beautiful city of Bordeaux. FDG is a focal point for academic efforts in all areas of research and education involving games, game technologies, gameplay and game design.
The goal of the conference is the advancement of the study of digital games, including new game technologies, capabilities, designs, applications, educational uses, and modes of play.
FDG 2011 was an interesting event and well attended by academics, commercial gaming vendors along with a number of staff from Microsoft Academic Developer Evangelists teams from the US and a group from Microsoft Game Studios.
As part of the event the entire US and UK team developed, created and presented the final keynote presentation entitled ‘Kinect in the Classroom’.
The presentation featured a history and the evolution of gaming consoles, controller and then closed with details on the Kinect device hardware configuration and a drill down on the newly released Kinect SDK. The presentation also included information on Microsoft Game Studio’s Edison Project which includes Kinect Fun Labs and the Kinect Share community which were launched recently on to the Xbox community.
Integrating Imagine Cup into current and proposed Curricula
Andrew Parsons, Microsoft US ADE team and Captain of the Imagine Cup Game Design Competition chaired an interesting panel session on the value of leveraging Imagine Cup within the academic curriculum.
The panel included Tara Walker Microsoft US ADE, Professor Frank Lee from Drexel University, Ian Parberry from the University of Texas and Frederic Pedro, a former Imagine Cup game competitor and now CEO of his own game company, Pohlm Studio and mentor of this years French Imagine Cup winning team.
Each of the panel members recounted their success in integrating Imagine Cup into the academic curriculum. If your interested in learning more about the imagine cup please visit http://www.imaginecup.com
Andrew presented a showcase of this years entries and the video of entries including the following video on the order of this years competitors For information on this years Imagine Cup Game Design entries see the entry video below and visit Andrews blog for the latest information on the Games Design Competition and an analysis of this years competitors.
So if your interested in entering next years Imagine Cup and making students aware of the competition then these are the key dates for the Games Design competition are as follows more information will be posted on http://www.imaginecup.com
Round 1 – Storyboard/Summary Submission
July 13, 2011
February 14, 2012
Round 2 - Game Submission
February 16, 2012
March 13, 2012
Round 3 - Worldwide Finals Qualifying
April 3, 2012
May 1, 2012
Round 4 - Worldwide Finals
On the 1st of June 2011 Geoff Hughes attended the University of Oxford Industry Showcase 2011. The day included three keynote speeches on research projects, plus micro-slots where researchers had two-minutes to pitch their research to the audience in quick succession. It coincided with the renaming of Oxford University Computing Laboratory ( Comlab ) to The department of Computer Science at the University of Oxford.
For more information on the department of Computer Science at the University of Oxford visit. http://www.cs.ox.ac.uk/
As part of the industry day, teams of 2nd year computer science students presented their 2nd year group projects using a wide range of technologies from Robots to Windows Phone7 to Microsoft Surface! Congratulations to “Team 1” who won a cash prize for their “TowerTunes” application developed for Microsoft Surface.
“Write an application for the Surface that will encourage people to make music together in a group - either by mixing samples, tapping on a simulated keyboard or drumskin, or whatever interface can be devised”
“Team1" Bogdan-Alexandru Panait (Music and sound) Chris Hydon (Source control, game model) Daniel Nichol (Graphics programming) Ian Jones (Enemy AI and choreography, game model) Kris Joanidis (Graphics modelling)
Congratulations to all the teams as well as the teaching and administration teams at the University of Oxford for such an inspiring and enjoyable day Peter Jeavons, Suzanna Marsh, Leanne Carveth, Sharon Lloyd
Below is a slideshow of pictures from the day.
For those of you wanting to get the Mango BETA update on your academic teaching and learning phones, please read the following post, the intention of this post is to ensure that you are in a position of being able to discuss the opportunity and enhancement of Mango within your teaching curricula.
I must stress this is a Beta release and as such there will be NO upgrade path to future releases of Mango. Therefore please ensure that this isn’t your primary device as you will need to restore your phone to a supported state before being able to install the final versions of the product.
1. Back up your phone. You want to make sure that you can quickly get it back to a supported state ASAP should it run into difficulties or require to update the device to the final version.
Ensure you phone is backed up prior to running the update simply use backup/restore app provided on xda-developers.com
NB: When you do this restore, you will loose any of the changes you’ve made to your phone, this will include app installations, music added, game scores, photos, videos etc.
After your restore you will need to reinstall all previous installed apps from the MarketPlace you will NOT be charged for them again, but you may wish to note down the apps you have installed.
If you have previously installed the Beta1 SDK then you need to now go to your “Control Panel” > “Programs and Features” and uninstall that SDK.
Visit the download page for the SDK and download and read the release notes.
NB: Please ensure you read the T&Cs and notes.
Download and run the vm_web2.exe link
You will now have the Beta2 development tools for WP7 app and the Emulator, this is excellent for your curricula notes and assessments.
So if your already a Microsoft Registered developer via Microsoft DreamSpark you will have received an email from Microsoft Connect inviting you to download the update. If your NOT a registered developer then simply register via DreamSpark this will then give you access to the tools to get your phone updated.
You will also need to update Zune along with other supporting utilities and the all important update instructions.
NB: Please ensure you read update instructions
Good news Windows Phone lovers, Orange UK are offering all Orange Windows Phone customers a free app every day during July. To download your free app, navigate to “Orange Selects” within the Marketplace on your phone.
The app at the top of the list is the free app of the day, and will change each day. Enjoy!
HPC Server 2008 R2 SP2 is now available for download. This service pack updates the HPC Pack 2008 R2 products listed in the 'System Requirements' section. It provides improved reliability as well as an enhanced feature set including:
Download HPC Pack 2008 R2 Service Pack 2
In the "Download HPC Pack 2008 R2 Service Pack 2" section you will three files:
HPC2008R2SP2-Update-x64.zip (123.0 MB)
HPC2008R2SP2-Update-x64 : Download this .zip file to obtain the updater for use on your head nodes, compute nodes, broker nodes, and x64-based clients and workstation nodes. It also contains the Web Components (REST and Web Portal), Azure VM, and KSP ('soft card') installers necessary to use those features. HPC2008R2SP2-Update-x86.zip (121.0 MB)
HPC2008R2SP2-Update-x86 : This .zip file contains the updated for use on 32-bit clients and workstation nodes. It also contains the KSP ('soft card') installer for 32-bit clients.
SP2 Media Integration Package.zip (570.0 MB)
SP2 Media Integration Package: For customers who will be doing multiple new cluster installations (setting up brand new head nodes, not just updating existing clusters) you can use this package to update your original ('RTM') installation media to have SP2 integrated from the beginning. (Instead of installing from your RTM DVD, then applying SP1, then applying SP2.) Please refer to the instructions on the HPC team blog for more information.