Dec 17th, 2008 | 2 Comments

Parallel Development

As demands for application performance increased, customers
have traditionally solved the problem by simply increasing the
underlying power of the hardware that the application is running
on. Over the last several years developers have seen the CPUs
that their applications run on start to include 2, 4 or more cores.
While the power of the hardware has increased, the transition
to a multi-core environment has impacted the applications that
developers write. The majority of applications will not be able to
automatically take advantage of this multi-core hardware change.
Developers will need to modify the way they write applications
and the architectures they use for these applications.

Creating parallel capable code using current technologies is
unfortunately not trivial. Multi-thread programming introduces
not only application architecture challenges to complexity and
robustness but also exposes the tooling developers use as being
optimized for single-threaded development.

Microsoft is making a major commitment to make parallel
development accessible to a wide range of developers, whether
they are using native code or the .NET Framework. With Visual
Studio 2010 we are delivering:

• Visual Studio IDE support for Parallel development
• Native C++ libraries and compiler support
for Parallel applications

The .NET Framework 4.0 also provides the core framework
support to build parallel applications through technologies such
as P-LIINQ and parallel language semantics and framework
components. Visual Studio 2010 provides integrated parallel
development support. In Visual Studio 2010 the debugger is
aware of the parallel nature of code and can present the state of
the application execution during debugging across the different
parallel execution units. The debugger also has custom displays
for parallel code such as task & thread windows and a “multi” or
“cactus” stack view window that graphically shows the execution
path of the individual tasks.

Being able to develop and debug your application doesn’t
mean that it takes advantage of all the available power. To
help developers do this, Visual Studio 2010 also includes
a parallel capable performance analyzer that enables you
to extensively instrument you code to visually see the
concurrency issues that are in your applications. Combine
this with the features of the Visual Studio IDE, and developers
have a highly productive, visual environment for building the
best parallel capable applications available.

Dec 15th, 2008 | 1 Comment

Cloud Development

On October 27th 2008 Microsoft announced Windows® Azure™
the comprehensive cloud environment from Microsoft. With
Windows® Azure™ Tools for Microsoft® Visual Studio®
you can build, debug and deploy services and applications
for Windows Azure.

Windows Azure offers a scalable hosting environment for
the Internet, built on geographically distributed data centers.
It handles load balancing and resource management, and
automatically manages the life cycle of a service based on
requirements that you establish. With the service, you include
code specifications for the service topology, the number of
instances to deploy, and any configuration settings. Windows®
Azure™ deploys the service and manages upgrades and failures
to maintain availability.

The Windows Azure environment is designed as a utility
computing model, so that you pay only for the resources
used by your service, while benefitting from the reliability and
performance provided by the hosting environment.

Windows Azure Tools provide the means to create services
and applications within the framework of Visual Studio. That
includes a project model specifically for Windows Azure, as
well as the debugging capabilities of Visual Studio. With Visual
Studio, you can build a package containing your service, and
use Windows Azure Tools to deploy the package to Windows
Azure through the Windows Live Developer Portal.

Written by Ajay Matharu

December 15th, 2008 at 7:21 am