Hi, here is my initial proposal for the DRMAA2 machine monitoring enumerations. Please check if this proposal contains everything your DRM could report about OS and CPU on an execution host. --- snip enum OperatingSystem {HPUX, LINUX, TRUE64, DUNIX, OSF1, MACOS, SUNOS, WIN, WINNT, AIX, UNIXWARE, BSD, OTHER} enum CpuArchitecture {ALPHA, PA-RISC, X86, X64, IA-64, MIPS, PPC, PPC64, SPARC, SPARC64, OTHER} interface MonitoringSessions{ readonly attribute string[] drmVersionString; readonly attribute string[] drmMachineNames; int machineSockets(in string machineName); int machineCoresPerSocket(in string machineName); int machineLoad(in string machineName, in long coreNumber); int machinePhysMemory(in string machineName); int machineVirtMemory(in string machineName); OperatingSystem machineOS(in string machineName); string machineOSVersion(in string machineName); CpuArchitecture machineArch(in string machineName); }; --- snip Some rationales: The list of operating systems is a reduced version of the DMTF list I sent earlier, and currently only considers the supported OS types in Condor. The list of CPU architectures is a combination of the supported identifiers in Condor + Debian. It is assumed that each OS identifier only makes sense with an OS version number string, which is not standardized by DRMAA. It is tempting to derive this version number string from "uname -r" by default. However, this might be too much of information for a DRMAA application. You would get the Darwin kernel version in MacOS, or the specific minor build revision with a Linux kernel. I think that such information is not really useful for job submission decisions. Instead, I favour the interpretation as true "operating system version", something that does not change when you do software updates on the machine. Some examples: Snow Leopard: "MACOS" + "10.6" Windows 7: "WINNT" + "6.1" Ubuntu Jaunty Jackalope: "LINUX" + "2.6" Solaris 10: "SUNOS" + "5.10" Things I am not sure about: - Do we need to distinguish the different BSD derivations ? - Do we really need support for Non-NT Windows and OSF/1 ? - Is SCO OpenServer something different from SCO UnixWare ? Is this a relevant separation ? - Do we need to add mainframe operating systems ? - Do we need a more fine-grained distinguishing between different Sparc processors ? - What is missing for LSF / PBS / Globus / ... ? Best, Peter.