- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: Real-time process control in an OpenVMS Cluste...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-22-2005 02:14 AM
04-22-2005 02:14 AM
In a recent thread entitled "VMS Failover" was this post by my good friend Stanley Quayle:
> I've been involved with doing redundant VMS systems that aren't clustered -- to avoid the cluster transition time. The time can be made smaller, but not zero. There are some applications that can't take that. Process automation, for one. <
I did a DECUS presentation years ago which discussed cluster state transitions and how to minimize their impact.
Failure detection can be set to as low as one second, by lowering TIMVCFAIL to 100.
Ride-through of a connectivity problem can be set to as low as 1 second by lowering RECNXINTERVAL.
So if your realtime process HAD to use distributed locking, you'd be forced to wait for a lock for a maximum of a second or two.
If it is the potential for quorum loss in a clustered environment that you're concerned about, one option to consider is to set up your realtime process so that it itself doesn't do any disk I/O, locking, or anything else that depends on cluster coordination (in other words, it would talk with the devices it controls but perhaps communicate through memory with another process which IS under coordination by the cluster to do disk I/Os if needed), and then you could remove the requirement on that particular process for the QUORUM capability bit, so that it could continue to run uninterrupted through a period of quorum loss.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-22-2005 05:57 AM
04-22-2005 05:57 AM
Re: Real-time process control in an OpenVMS Cluster environment
It all depends upon the context. I do not have time to write a long commentary at this instant, however I will make one or two points and try to get something more extensive either here or in my column.
Many process control environments are VERY timing sensitive, particularly control systems for industrial processes. In these cases, one second is a very LONG time.
In my practice, I have encountered the entire spectrum, from applications which are perfectly suited to OpenVMS clusters, to applications which are so realtime that even the system timers are too imprecise. They key is careful analysis of the requirements, and what the different impacts are.
That said, I have seen a sub-optimal choice made, either for or against OpenVMS clusters. The most important issue is the proper analysis.
Hopefully, I will have the time to write more later.
- Bob Gezelter, http://www.rlgsc.com
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-22-2005 06:01 AM
04-22-2005 06:01 AM
Re: Real-time process control in an OpenVMS Cluster environment
And how do you do that?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-22-2005 09:52 AM
04-22-2005 09:52 AM
Re: Real-time process control in an OpenVMS Cluster environment
Sorry -- I meant to provide a pointer: see http://www.geocities.com/keithparris/ and look for "Understanding VAXcluster State Transitions" and "VMS Cluster State Transitions in Action".
> > remove the requirement on that particular process for the QUORUM capability bit
>
> And how do you do that?
The routine SCH$RELEASE_CAPABILITY (found in module [SYS]CAPABILITY.MAR in the sources) is what is used to do this by a process running OPCCRASH and by the lock manager server process (used for dedicated-CPU lock manager operation). Of course, we're talking high-IPL code, holding the SCHED spinlock, etc. -- not for the faint of heart. But it does look possible.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2005 11:54 PM
05-05-2005 11:54 PM
SolutionWe have used VAX clusters for "level 2" process control -- what is sometimes termed supervisory control -- for many years. The key has been that the crucial tasks for the "real-time" portion do several things:
a) They don't do any disk I/O themselves ... they pass (or recieve) data via memory resident commons (implemented via a locally writen API that acts like "mailbox queues" - a message passing subsystem) to other tasks which buffer the I/O to disks ... or to displays (which might get XOFFed)!
b) Those tasks run somewhere above priority 16 (and one keeps the amount of "work" done very short ... only the crucial real-time portion, of course).
That said, these uses have been very successful (and virtually entirely in Fortran!)