(Base One logo) .NET database and distributed computing tools

Base One Grid Computing FAQ

 

What kind of applications are best suited to grid computing?

Traditionally, distributed computing in general and grid computing in particular have been associated with computationally intensive scientific and numerical applications, but more recently there has been a growing interest in using grid technology for a wide range of large-scale commercial applications. The reason comes down to simple economics: you can build more powerful systems, more cheaply, by more efficient utilization of available computing resources. Now that the benefits and practicality of this technology are becoming pretty well established, companies are taking a closer look, but often unsure how it relates to their own business. In rethinking application designs, they are discovering that grid computing doesn't just apply to number-crunching - it also makes perfect sense for all kinds of database-intensive applications, the bread and butter of commercial data processing. The question no longer is whether grid processing is relevant, but where to begin.

Back to Top


Why is fault tolerance vital to the success of grid computing?

Comprehensive error handling and automated recovery are essential to robust, scalable systems. Grid computing especially pushes these limits of reliability, since it entails a large number of distributed components, all of which are subject to various types of unpredictable failures, such as computer hardware breakdowns, operating system crashes, loss of communications, and abnormal exits from application software. Historically, it has been too difficult to program distributed systems that can automatically recover from failures in individual components and keep working. For businesses, this has meant that distributed computing by PCs was more of an academic exercise than a commercial reality. Large-scale, distributed computing is now practical, but only if the middleware has been designed to handle a variety of inevitable failures. Without fault tolerance, systems can't grow large or complex, which is just where grid computing is most needed and offers the greatest benefits.

Back to Top


What's wrong with master/slave grid architectures?

In a master/slave system, you still have all of the usual aspects of potential failure, plus the added complications and hazards of critical dependence on flawless inter-process communication. Base One's symmetrical architecture is simpler and more robust, because it eliminates this needless complication - by leveraging the substantial built-in synchronization, transaction processing, and security capabilities of the major commercial database systems. Instead of depending on direct inter-process communication, Batch Job Servers simply perform database retrievals and updates, and Web Services are modeled as database operations. There is no need for complex additional logic or a special class of "master" computers, so any available Batch Job Server with suitable resources and permissions can do the work if another one fails or is busy. Eliminating the master also removes a potential performance bottleneck, resulting in a system that can more easily be extended and dynamically adapt to changing workloads.

Back to Top


Is it safe to rely on extensive use of remote PCs?

It's safe to make maximum use of remote PC power because of Base One's ability to absolutely control what can be executed on each machine, and where those programs reside. (The only variables are when a pre-defined module may be executed and what data is to be passed to it.). You don't need crippling "sand boxing" restrictions to protect PCs, since the grid computing middleware only runs programs that it knows about, i.e. those that have been statically linked to the executable. Within a corporate network, the grid application can run efficiently from a secure file server, also making program maintenance more convenient. This is entirely different from the less controlled browser applet model, where new programs can arrive from across the Internet and be executed at any time.

The Base One architecture does not transmit program applets (which, for example, must be prevented from accessing the filing system). Instead, grid computing applications use efficient compiled programs that are resident in advance and can safely take advantage of the Windows filing system for sorting, caching, temporary storage, etc. Applications deployed using Base One tools and middleware can utilize the organization’s existing provisioning and change control systems.

Back to Top


Can Internet-based grid applications be made secure?

All of the underlying Internet traffic for grid computing passes through Base One's proprietary Internet Server, which easily can be configured to use custom encryption. Also the Rich Client Security System provides DBMS-independent application and user-level access control, automatically enforced through Base One's core framework components. In addition, BFC's user administration can be fully integrated into the organization's network security and the native security features of the back-end database system. This further assures that grid applications can be thoroughly protected by multiple, independent methods of administering security.

Back to Top


How does Base One avoid a bottleneck at the central database?

Every DBMS has performance pitfalls, which lead even experienced programmers into designing applications that scale poorly or tend to produce deadlocks. BFC's Database Library, at the heart of its grid processing middleware, has been carefully optimized for each supported DBMS, to achieve reliable transaction processing with a minimum amount of database locking. This makes it easy to build efficient, scalable applications without falling into the usual subtle traps. For example, a common mistake is the over-use of cumbersome, distributed transaction processing (XA) protocols in message-based architectures. The greater economy of Base One's approach is possible, because the Virtual Supercomputer relies upon a centralized database, even though processing power and temporary storage may be widely distributed. Of course any database ultimately could be swamped by excessive load, but the capacity of a database server generally can be increased far more easily than upgrading the rest of the system. By reducing transaction processing overhead, and minimizing network traffic through intelligent caching, a single Virtual Supercomputer can efficiently support a very large number of interactive users and Batch Job processors. If that is not enough, one can build a loosely-coupled network of multiple Virtual Supercomputers, but this more typically would be motivated by business or organizational reasons, rather than any inherent database performance or capacity limits.

Back to Top


How is grid computing charged back to different cost centers?

The Base One architecture fits in well with standard usage monitoring and accounting software, making it possible to establish custom charge-backs for each grid application, without additional programming. What makes it easy is the way that the Batch Processing System has total control over which grid applications are permitted, on whose behalf, and on which machines. Thus there is a straightforward way, using familiar, conventional accounting software, to ensure that expenses for centralized IT resources are appropriately borne by the departments consuming those services. All that's required is to associate different batch applications with different cost centers. Any Batch Job Server machine can also perform processing on behalf of multiple Virtual Supercomputers, simply by running multiple batch applications simultaneously, each accessing a different set of Batch Job records. This sort of arrangement provides more flexibility in automatic charge-back accounting, still without programming. If a customized, application-specific charge-back scheme is desired, BFC's core framework and tools make the programming easy.

Back to Top


Does Base One's grid architecture work with .NET?

Efficient grid applications can be developed with Microsoft's latest Visual Studio .NET suite of programming tools, C#, VB.NET, VC.NET, and ASP.NET, using Base One's core components for database access, batch processing, data-aware ActiveX controls, and administrative tools. Sample programs included with BFC illustrate a variety of the possible combinations, such as .NET Windows Forms and Web Forms that use either ADO.NET or Base One's database functions, or both. Unlike most other framework vendors, Base One is committed to a high level of support for both COM and .NET environments, providing the smoothest possible migration path from Visual Basic 6 and ASP to VB.NET, C#, and ASP.NET. Organizations heavily invested in VB6 and COM-based applications are not rushed into adopting the latest untested .NET technologies, because Base One's flexible, proven framework allows them to make the transition gradually, according to their own business plans and requirements. Base One's unified database and distributed computing interface not only eases the transition to .NET, it simplifies programming in any environment. For example, the code for adding, modifying and retrieving data looks the same, regardless of whether ...
  • interactive or batch-oriented
  • web or Windows application
  • programming in C++, C#, VB, VB.NET, ASP or ASP.NET
  • databases from IBM, Microsoft, Oracle, Sybase or MySQL

These symmetries makes it easier to learn and use Base One's software to develop applications, and the results are more portable and easier to maintain.

Back to Top


Distributed Computing | Benefits | Why Grid? | Architecture | In Depth | Queuing | Scalability | BFC


Home Products Consulting Case Studies Order Contents Contact About Us

Copyright © 2012, Base One International Corporation