[ogsa-wg] Paper proposing "evolutionary vertical design efforts"

Christopher Smith csmith at platform.com
Tue Mar 21 13:40:16 CST 2006


I¹ll just add (in a ³me too² type of answer) that from the point of view of
Platform, if the interface proposed doesn¹t map very well to our existing
capabilities, the chances of getting it implemented start getting lower,
since the amount of time we need to take to develop these capabilities gets
larger. This is the standard approach in a software company ... I don¹t
think I¹m stating anything new here.

So we have lots of customers, and lots of ISV partners, for whom these
extended capabilities are not really that important. They generally just
want simple interfaces that reflect the capabilities they are used to seeing
in their in production (for many years) middleware stacks.

So I vote for the simple case. But let¹s make sure that it¹s extensible so
that we can add extended capabilities easily in future iterations. To me
standards are part of the evolution towards interoperability, not the end
goal in of themselves.

-- Chris



On 21/3/06 10:28, "Marvin Theimer" <theimer at microsoft.com> wrote:

> Hi;
>  
> Whereas I agree with you that at-most-once semantics are very desirable, I
> would like to point out that not all existing job schedulers implement them.
> I know that both LSF and CCS (the Microsoft HPC job scheduler) don¹t.  I¹ve
> been trying to find out whether PBS and SGE do or don¹t.
>  
> So, this brings up the following slightly more general question: should the
> simplest base case be the simplest case that does something useful, or should
> it be more complicated than that?  I can see good arguments on both sides:
> ·        Whittling things down to the simplest possible base case maximizes
> the likelihood that parties can participate.  Every feature added represents
> one more feature that some existing system may not be able to support or that
> a new system has to provide even when it¹s not needed in the context of that
> system.  Suppose, for example, that PBS and SGE don¹t provide transactional
> semantics of the type you described.  Then 4 of the 6 most common job
> scheduling systems would not have this feature and would need to somehow add
> it to their implementations.  In this particular case it might be too
> difficult to add in practice, but in general there might be problems.
> 
> ·        On the other hand, since there are many clients and arguably far
> fewer server implementations, features that substantially simplify client
> behavior/programming and that are not too onerous to implement in existing and
> future systems should be part of the base case.  The problem, of course, is
> that this is a slippery slope at the end of which lies the number 42 (ignore
> that last phrase if you¹re not a fan of The Hitchhiker¹s Guide to the Galaxy).
> 
>  
> Personally, the slippery slope argument makes me lean towards defining the
> simplest possible base use case, since otherwise we¹ll spend a (potentially
> very) long time arguing about which features are important enough to justify
> being in the base case.  One possible way forward on this issue is to have
> people come up with lists of features that they feel belong in the base use
> case and then we agree to include only those that have a large majority of the
> community arguing for their inclusion in the base case.
>  
> Unfortunately defining what ³large majority² should be is also not easy or
> obvious.  Indeed, one can argue that we can¹t even afford to let all votes be
> equal.  Consider the following hypothetical (and contrived) case: 100 members
> of a particular academic research community show up and vote that the base
> case must include support for a particular complicated scheduling policy and
> the less-than-ten suppliers of existing job schedulers with significant
> numbers of users all vote against it.  Should it be included in the base case?
> What happens if the major scheduler vendors/suppliers decide that they can¹t
> justify implementing it and therefore can¹t be GGF spec-compliant and
> therefore go off and define their own job scheduling standard?  The hidden
> issue is, of course, whether those voting are representative of the overall
> HPC user population.  I can¹t personally answer that question, but it does
> again lead me to want to minimize the number of times I have to ask that
> question ­ i.e. the number of features that I have to consider for inclusion
> in the base case.
>  
> So this brings me to the question of next steps.  Recall that the approach I¹m
> advocating ­ and that others have bought in to as far as I can tell ­ is that
> we define a base case and the mechanisms and approach to how extensions of the
> base case are done.  I assert that the absolutely most important part of
> defining how extension should work is ensuring that multiple extensions don¹t
> end up producing a hairball that¹s impossible to understand, implement, or
> use.  In practice this means coming up with a restricted form of extension
> since history is pretty clear on the pitfalls of trying to support arbitrarily
> general extension schemes.
>  
> This is one of the places where identification of common use cases comes in.
> If we define the use cases that we think might actually occur then we can ask
> whether a given approach to extension has a plausible way of achieving all the
> identified use cases.  Of course, future desired use cases might not be
> achievable by the extension schemes we come up with now, but that possibility
> is inevitable given anything less than a fully general extension scheme.
> Indeed, even among the common use cases we identify now, we might discover
> that there are trade-offs where a simpler (and hence probably more
> understandable and easier to implement and use) extension scheme can cover 80%
> of the use cases while a much more complicated scheme is required to cover
> 100% of the use cases.
>  
> Given all this, here are the concrete next steps I¹d like to propose:
> ·        Everyone who is participating in this design effort should define
> what they feel should be the HPC base use case.  This represents the simplest
> use case ­ and associated features like transactional submit semantics ­ that
> you feel everyone in the HPC grid world must implement.  We will take these
> use case candidates and debate which one to actually settle on.
> 
> ·        Everyone should define the set of HPC use cases that they believe
> might actually occur in practice.  I will refer to these as the common use
> cases, in contrast to the base use case. The goal here is not to define the
> most general HPC use case, but rather the more restricted use cases that might
> occur in real life.  For example, not all systems will support job migration,
> so whereas a fully general HPC use case would include the notion of job
> migration, I argue that one or more common use cases will not include job
> migration.
> 
> Everyone should also prioritize and rank their common use cases so that we can
> discuss 80/20-style trade-offs concerning which use cases to support with any
> given approach to extension.  Thus prioritization should include the notion of
> how common you think a use case will actually be, and hence how important it
> will be to actually support that use case.
> ·        Everyone should start thinking about what kinds of extension
> approaches they believe we should define, given the base use case and common
> use cases that they have identified.
> 
>  
> As multiple people have pointed out, an exploration of common HPC use cases
> has already been done one or several times before, including in the EMS
> working group.  I¹m still catching up on reading GGF documents, so I don¹t
> know how much those prior efforts explored the issue from the point-of-view of
> base case plus extensions.  If these prior explorations did address the topic
> of base-plus-extensions and you agree with the specifics that were arrived at
> then this exercise will be a quick-and-easy one for you: you can simply
> publish the appropriate links to prior material in an email to this mailing
> list.  I will personally be sending in my list independent of prior efforts in
> order to provide a ³newcomer¹s² perspective on the subject.  It will
> interesting to see how much overlap there is.
>  
> One very important point that I¹d like to raise is the following: Time is
> short and ³best² is the enemy of ³good enough². Microsoft is planning to
> provide a Web services-based interoperability interface to its job scheduler
> sometime in the next year or two.  I know that many of the other job scheduler
> vendors/suppliers are also interested in having an interoperability story in
> place sooner rather than later.  To meet this schedule on the Microsoft side
> will require locking down a first fairly complete draft of whatever design
> will be shipped by essentially the end of August.  That's so that we can do
> all the necessary debugging, interoperability testing, security threat
> modeling, etc. that goes with shipping an actual finished product.  What that
> means for the HPC profile work is that, come the end of August, Microsoft ­
> and possibly other scheduler vendors/suppliers ­ will need to lock down and
> start coding some version of Web Services-based job scheduling and data
> transfer protocols.  If there is a fairly well-defined, feasible set of
> specs/profile coming out of the GGF HPC working group (for recommendation ­
> NOT yet for actual standards approval) that has some reasonable level of
> consensus by then, then that's what Microsoft will very likely go with.
> Otherwise Microsoft will need to defer the idea of shipping anything that
> might be GGF compliant to version 3 of our product, which will probably ship
> about 4 years from now.
>  
> The chances of coming up with the ³best² HPC profile by the end of August are
> slim.  The chances of coming up with a fairly simple design that is ³good
> enough² to cover the most important common cases by means of a relatively
> simple, restricted form of extension seems much more feasible.  Covering a
> richer set of use cases would need to be deferred to a future version of the
> profile, much in the manner that BES has been defined to cover an important
> sub-category of use cases now, with a fuller EMS design being done in parallel
> as future work.  So I would argue that perhaps the most important thing this
> design effort and the planned HPC profile working group that will be set up in
> Tokyo can do is to identify what a ³good enough² version 1 HPC profile should
> be.
>  
> Marvin.
>  
>  
> 
> 
> From: Carl Kesselman [mailto:carl at isi.edu]
> Sent: Thursday, March 16, 2006 12:49 AM
> To: Marvin Theimer
> Cc: humphrey at cs.virginia.edu; ogsa-wg at ggf.org
> Subject: Re: [ogsa-wg] Paper proposing "evolutionary vertical design efforts"
>  
> Hi,
> 
> In the interest of furthering agreement, I was not arguing that the
> application had to be restartable. Rather, what has been shown to be important
> is that the protocol be restartable in the following sense:  if you submit a
> job and the far and server fails, is the job running or not, if you resubmit,
> do you get another job instance. The GT sumbission protocol and Condor have a
> transactional semantics so that you can have at most once submit semantics
> reegardless of client and server failures. The fact that your application may
> be non-itempote is exactly why having a well defined semantics in this case is
> important.
> 
> So what is the next step?
> 
> Carl
> 
> Dr. Carl Kesselman                             email:   carl at isi.edu
> USC/Information Sciences Institute       WWW: http://www.isi.edu/~carl
> 4676 Admiralty Way, Suite 1001           Phone: (310) 448-9338
> Marina del Rey, CA 90292-6695           Fax:      (310) 823-6714
> 
> 
> 
> -----Original Message-----
> From: Marvin Theimer <theimer at microsoft.com>
> To: Carl Kesselman <carl at isi.edu>
> CC: Marvin Theimer <theimer at microsoft.com>; Marty Humphrey
> <humphrey at cs.virginia.edu>; ogsa-wg at ggf.org <ogsa-wg at ggf.org>
> Sent: Wed Mar 15 14:26:36 2006
> Subject: RE: [ogsa-wg] Paper proposing "evolutionary vertical design efforts"
> 
> Hi;
> 
> 
> 
> I suspect that we¹re mostly in agreement on things.  In particular, I think
> your list of four core aspects is a great starting point for a discussion on
> the topic.
> 
> 
> 
> I just replied to an earlier email from Ravi with a description of what I¹m
> hoping to get out of examining various HPC use cases:
> 
> ·        Identification of the simplest base case that everyone will have to
> implement.
> 
> ·        Identification of common cases we want to optimize.
> 
> ·        Identification of how evolution and selective extension will work.
> 
> 
> 
> I totally agree with you that the base use case I described isn¹t really a
> ³grid² use case.  But it is an HPC use case ­ in fact it is arguably the most
> common use case in current existence. J  So I think it¹s important that we
> understand how to seamlessly integrate and support that common ­ and very
> simple ­ use case.
> 
> 
> 
> I also totally agree with you that we can¹t let a solution to the simplest HPC
> use case paint us into a corner that prevents supporting the richer use cases
> that grid computing is all about.  That¹s why I¹d like to spend significant
> effort exploring and understanding the issues of how to support evolution and
> selective extension.  In an ideal world a legacy compute cluster job scheduler
> could have a simple ³grid shim² that let it participate at a basic level, in a
> natural manner, in a grid environment, while smarter clients and HPC services
> could interoperate with each other in various selectively richer manners by
> means of extensions to the basic HPC grid design.
> 
> 
> 
> One place where I disagree with you is your assertion that everything needs to
> be designed to be restartable.  While that¹s a good goal to pursue I¹m not
> convinced that you can achieve it in all cases.  In particular, there are at
> least two cases that I claim we want to support that aren¹t restartable:
> 
> ·        We want to be able to run applications that aren¹t restartable; for
> example, because they perform non-idempotent operations on the external
> physical environment.  If such an application fails during execution then the
> only one who can figure out what the proper next steps are is the end user.
> 
> ·        We want to be able to include (often-times legacy) systems that
> aren¹t fault tolerant, such as simple small compute clusters where the owners
> didn¹t think that fault tolerance was worth paying for.
> 
> Of course any acceptable design will have to enable systems that are fault
> tolerant to export/expose that capability.  To my mind it¹s more a matter of
> ensuring that non-fault-tolerant systems aren¹t excluded from participation in
> a grid.
> 
> 
> 
> Other things we agree on:
> 
> ·        We should certainly examine what remote job submission systems do.
> We should certainly look at existing systems like Globus, Unicore, and Legion.
> In general, we should be looking at everything that has any actual experience
> that we can learn from and everything that is actually deployed and hence
> represents a system that we potentially need to interoperate with.  (Whether a
> final design is actually able to interoperate at any but the most basic level
> with various exotic existing systems is a separate issue.)
> 
> ·        We should absolutely focus on codifying what we know how to do and
> avoid doing research as part of a standards process.  I believe that thinking
> carefully about how to support evolution and extension is our best hope for
> allowing people to defer trying to bake their pet research topic into
> standards since it provides a story for why today¹s standards don¹t preclude
> tomorrow¹s improvements.
> 
> 
> 
> So I would propose that next steps are:
> 
> ·        Continue to explore and classify various HPC use cases of various
> differing levels of complexity.
> 
> ·        Describe the requirements ­ and limitations ­ of existing job
> scheduling and remote job submission systems.
> 
> ·        Continue identifying and discussing key ³features² of use cases and
> potential design solutions, such as the four that you identified in your last
> email.
> 
> 
> 
> Marvin.
> 
> 
> 
> ________________________________
> 
> From: Carl Kesselman [mailto:carl at isi.edu]
> Sent: Tuesday, March 14, 2006 7:50 AM
> To: Marty Humphrey; ogsa-wg at ggf.org
> Cc: Marvin Theimer
> Subject: RE: [ogsa-wg] Paper proposing "evolutionary vertical design efforts"
> 
> 
> 
> Hi,
> 
> 
> 
> Just to be clear, I¹m not trying to suggest that the scope be expanded. I
> agree with the approach of focusing on a baby step is a good one, and many of
> the assumptions stated in Marvin¹s list I am in total agreement with. However,
> in taking baby steps I think that it is important that we end up walking, and
> that in defining the use case, one can easily create solutions that will not
> get you to the next step. This is my point about looking at what we know how
> to do and have been doing in production settings for many years now. In my
> mind, one of the scope grandness problems has been that there has been far too
> little focus on codifying what we know how to do in favor of using a standards
> process as an excuse to design new things.  So at the risk of sounding
> partisan, the simplified use case that Marvin is proposing is exactly the use
> case that GRAM has been doing for over ten years now (I think the same can be
> said about UNICORE and Legion).
> 
> 
> 
> So let me try to be  constructive.  One of the things that falls out of
> Marvin¹s list could be a set of basic concepts/operations that need to be
> defined.  These include:
> 
> 1) A way of describing ³local² job configuration, i.e. where to find the
> executable, data files, etc. This should be very conservative with its
> assumptions on shared file systems and accessibility. In general, what needs
> to be stated here are what are the underlying aspects of the underlying
> resource that are exposed to the outward facing interface.
> 
> 2) A way of naming a submission point (should probably have a way of modeling
> queues).
> 
> 3) A core set of job management operations, submit, status, kill. These need
> to be defined in such a way at to be tolerate to a variety of failure
> scenarios, in that the state needs to be well defined in the case of failure.
> 
> 4) A state model that one can use to describe what is going on with the jobs
> and a way to access that state.  Can be simple (queued, running, done), may
> need to be extensible.  One can view the accounting information as being
> exposed
> 
> 
> 
> So, one thing to do would be to agree that these are (or are not) the right
> four things that need to be defined and if so, start to flesh out these in a
> way that supports the core use case but doesn¹t introduce assumptions that
> would preclude more complex use cases in the future.
> 
> 
> 
> 
> 
> Carl
> 
> 
> 
> ________________________________
> 
> From: owner-ogsa-wg at ggf.org [mailto:owner-ogsa-wg at ggf.org] On Behalf Of Marty
> Humphrey
> Sent: Tuesday, March 14, 2006 6:32 AM
> To: ogsa-wg at ggf.org
> Cc: 'Marvin Theimer'
> Subject: RE: [ogsa-wg] Paper proposing "evolutionary vertical design efforts"
> 
> 
> 
> Carl,
> 
> 
> 
> Your comments are very important. We would love to have your active
> participation in this effort. Your experience is, of course, matched by few!
> 
> 
> 
> I re-emphasize that this represents (my words, not anyone else¹s) ³baby steps²
> that are necessary and important for the Grid community.  In my opinion, the
> biggest challenge will be to fight the urge to expand the scope beyond a small
> size. You cannot ignore the possibility that the GGF has NOT made as much
> progress as it should have to date. Furthermore, one such plausible
> explanation is that the scope is too grand.
> 
> 
> 
> -- Marty
> 
> 
> 
> 
> 
> ________________________________
> 
> From: owner-ogsa-wg at ggf.org [mailto:owner-ogsa-wg at ggf.org] On Behalf Of Carl
> Kesselman
> Sent: Tuesday, March 14, 2006 8:47 AM
> To: Marvin Theimer; Ian Foster; ogsa-wg at ggf.org
> Subject: RE: [ogsa-wg] Paper proposing "evolutionary vertical design efforts"
> 
> 
> 
> Hi,
> 
> 
> 
> While I have no wish to engage in the ³what is a Grid² argument, there are
> some elements of your base use case that I would be concerned about.
> Specifically, the assumption that the submission in into a ³local cluster² on
> which there is an existing account may lead one to a solution that may not
> generalize to the solution to the case of submission across autonomous policy
> domains.  I would also argue that ignoring issues of fault tolerance from the
> beginning is also problematic.  One must at least design operations that are
> restartable (for example at most once submission semantics).
> 
> 
> 
> I would finally suggest that while examining existing job schedule systems is
> a good thing to do, we should also examine existing remote submission systems
> (dare I say Grid systems).  The basic HPC use case is one in which there is a
> significant amount implementation and usage experience.
> 
> 
> 
> Thanks,
> 
> 
> Carl
> 
> 
> 
> 
> 
> ________________________________
> 
> From: owner-ogsa-wg at ggf.org [mailto:owner-ogsa-wg at ggf.org] On Behalf Of Marvin
> Theimer
> Sent: Monday, March 13, 2006 2:42 PM
> To: Ian Foster; ogsa-wg at ggf.org
> Cc: Marvin Theimer
> Subject: RE: [ogsa-wg] Paper proposing "evolutionary vertical design efforts"
> 
> 
> 
> Hi;
> 
> 
> 
> Ian, you are correct that I view job submission to a cluster as being one of
> the simplest, and hence most basic, HPC use cases to start with.  Or, to be
> slightly more general, I view job submission to a ³black box² that can run
> jobs ­ be it a cluster or an SMP or an SGI NUMA machine or what-have-you ­ as
> being the simplest and hence most basic HPC use case to start with.  The key
> distinction for me is that the internals of the ³box² are for the most part
> not visible to the client, at least as far as submitting and running compute
> jobs is concerned.  There may well be a separate interface for dealing with
> things like system management, but I want to explicitly separate those things
> out in order to allow for use of ³boxes² that might be managed by proprietary
> means or by means obeying standards that a particular job submission client is
> unfamiliar with.
> 
> 
> 
> I think the use case that Ravi Subramaniam posted to this mailing list back on
> 2/17 is a good one to start a discussion around.  However, I¹d like to present
> it from a different point-of-view than he did.  The manner in which the use
> case is currently presented emphasizes all the capabilities and services
> needed to handle the fully general case of submitting a batch job to a
> computing utility/service.  That¹s a great way of producing a taxonomy against
> which any given system or design can be compared to see what it has to offer.
> I would argue that the next step is to ask what¹s the simplest subset that
> represents a useful system/design and how should one categorize the various
> capabilities and services he has identified so as to arrive at meaningful
> components that can be selectively used to obtain progressively more capable
> systems.
> 
> 
> 
> Another useful exercise to do is to examine existing job scheduling systems in
> order to understand what they provide.  Since in the real world we will have
> to deal with the legacy of existing systems it will be important to understand
> how they relate to the use cases we explore.  In the same vein, it will be
> important to take into account and understand other existing infrastructures
> that people use that are related to HPC use cases. I¹m thinking of things like
> security infrastructures, directory services, and so forth.  From the
> point-of-view of managing complexity and reducing total-cost-of-ownership, it
> will be important to understand the extent to which existing infrastructure
> and services can be reused rather than reinvented.
> 
> 
> 
> To kick off a discussion around the topic of a minimalist HPC use case, I
> present a straw man description of such below and then present a first attempt
> at categorizing various areas of extension.  The categorization of extension
> areas is not meant to be complete or even all that carefully thought-out as
> far as componentization boundaries are concerned; it is merely meant to be a
> first contribution to get the discussion going.
> 
> 
> 
> A basic HPC use case: Compute cluster embedded within an organization.
> 
> ·     This is your basic batch job scheduling scenario.  Only a very basic
> state transition diagram is visible to the client, with the following states
> for a job: queued, running, finished. Additional states -- and associated
> state transition request operations and functionality -- are not supported.
> Examples of additional states and associated functionality include suspension
> of jobs and migration of jobs.
> 
> ·     Only "standard" resources can be described, for example: number of
> cpus/nodes needed, memory requirements, disk requirements, etc.  (think
> resources that are describable by JSDL).
> 
> ·     Once a job has been submitted it can be cancelled, but its resource
> requests can't be modified.
> 
> ·     A distributed file system is accessible from client desktop machines and
> client file servers, as well as compute nodes of the compute cluster.  This
> implies that no data staging is required, that programs can be (for the most
> part) executed from existing file system locations, and that no program
> "provisioning" is required (since you can execute them from wherever they are
> already installed).  Thus in this use case all data transfer and program
> installation operations are the responsibility of the user.
> 
> ·     Users already have accounts within the existing security infrastructure
> (e.g. Kerberos).  They would like to use these and not have to create/manage
> additional authentication/authorization credentials (at least at the level
> that is visible to them).
> 
> ·     The job scheduling service resides at a well-known network name and it
> is aware of the compute cluster and its resources by "private" means (e.g. it
> runs on the head node of the cluster and employs private means to monitor and
> control the resources of the cluster).  This implies that there is no need for
> any sort of directory services for finding the compute cluster or the
> resources it represents other than basic DNS.
> 
> ·     Compute cluster system management is opaque to users and is the concern
> of the compute cluster's owners.  This implies that system management is not
> part of the compute cluster's public job scheduling interface.  This also
> implies that there is no need for a logging interface to the service.  I
> assume that application-level logging can be done by means of libraries that
> write to client files; i.e. that there is no need for any sort of special
> system support for logging.
> 
> ·     A simple polling-based interface is the simplest form of interface to
> something like a job scheduling service. However, a simple call-back
> notification interface is a very useful addition that potentially provides
> substantial performance benefits since it can enable the avoidance of lots of
> unnecessary network traffic.  Only job state changes result in notification
> messages.
> 
> ·     There are no notions of fault tolerance. Jobs that fail must be
> resubmitted by the client.  Neither the cluster head node nor its compute
> nodes are fault tolerant.  I do expect the client software to return an
> indication of failure-due-system-fault when appropriate.  (Note that this may
> also occur when things like network partitions occur.)
> 
> ·     One does need some notion of how to deal with orphaned resources and
> jobs.  The notion of job lifetime and post-expiration garbage collection is a
> natural approach here.
> 
> ·     The scheduling service provides a fixed set of scheduling policies, with
> only a few basic choices (or maybe even just one), such as FIFO or
> round-robin.  There is no notion, in general, of SLAs (which are a form of
> scheduling policy).
> 
> ·     Enough information must be returned to the client when a job finishes to
> enable basic accounting functionality.  This means things like total
> wall-clock time the job ran and a summary of resources used.  There is not a
> need for the interface to support any sort of grouping of accounting
> information.  That is, jobs do not need to be associated with projects,
> groups, or other accounting entities and the job scheduling service is not
> responsible for tracking accounting information across such entities.  As long
> as basic resource utilization information is returnable for each job,
> accounting can be done externally to the job scheduling service.  I do assume
> that jobs can be uniquely identified by some means and can be uniquely
> associated with some principal entity existing in the overall system, such as
> a user name.
> 
> ·     Just as there is no notion of requiring the job scheduling service to
> track any but the most basic job-level accounting information, there is no
> notion of the service enforcing quotas on jobs.
> 
> ·     Although it is generally useful to separate the notions of resource
> reservation from resource usage (e.g. to enable interactive and debugging use
> of resources), it is not a necessity for the most basic of job scheduling
> services. 
> 
> ·     There is no notion of tying multiple jobs together, either to support
> things like dependency graphs or to support things like workflows.  Such
> capabilities must be implemented by clients of the job scheduling service.
> 
> 
> 
> Interesting extension areas:
> 
> ·      Additional scheduling policies
> 
> o     Weighted fair-share, Š
> 
> o     Multiple queues
> 
> o     SLAs
> 
> o     ...
> 
> ·      Extended resource descriptions
> 
> o     Additional resource types, such as GPUs
> 
> o     Additional types of compute resources, such as desktop computers
> 
> o     Condor-style class ads
> 
> ·      Extended job descriptions (as returned to requesting clients and sys
> admins)
> 
> ·      Additional classes of security credentials
> 
> ·      Reservations separated from execution
> 
> o     Enabling interactive and debugging jobs
> 
> o     Support for multiple competing schedulers (incl. desktop cycle stealing
> and market-based approaches to scheduling compute resources)
> 
> ·      Ability to modify jobs during their existence
> 
> ·      Fault tolerance
> 
> o     Automatic rescheduling of jobs that failed due to system faults
> 
> o     Highly available resources:  This is partly a policy statement by a
> scheduling service about its characteristics and partly the ability to rebind
> clients to migrated service endpoints
> 
> ·      Extended state transition diagrams and associated functionalities
> 
> o     Job suspension
> 
> o     Job migration
> 
> o     Š
> 
> ·      Accounting & quotas
> 
> ·      Operating on arrays of jobs
> 
> ·      Meta-schedulers, multiple schedulers, and ecologies and hierarchies of
> multiple schedulers
> 
> o     Meta-schedulers
> 
> ·      Hierarchical job scheduling with a meta-scheduler as the only entry
> point; forwarding jobs to the meta-scheduler from other subsidiary schedulers
> 
> o     Condor-style matchmaking
> 
> ·      Directory services
> 
> o     Using existing directory services
> 
> o     Abstract directory service interface(s)
> 
> ·      Data transfer topics
> 
> o     Application data staging
> 
> ·      Naming
> 
> ·      Efficiency
> 
> ·      Convenience
> 
> ·      Cleanup
> 
> o     Program staging/provisioning
> 
> ·      Description
> 
> ·      Installation
> 
> ·      Cleanup
> 
> 
> 
> 
> 
> Marvin.
> 
> 
> 
> ________________________________
> 
> From: Ian Foster [mailto:foster at mcs.anl.gov]
> Sent: Monday, February 20, 2006 9:20 AM
> To: Marvin Theimer; ogsa-wg at ggf.org
> Cc: Marvin Theimer; Savas Parastatidis; Tony Hey; Marty Humphrey;
> gcf at grids.ucs.indiana.edu
> Subject: Re: [ogsa-wg] Paper proposing "evolutionary vertical design efforts"
> 
> 
> 
> Dear All:
> 
> The most important thing to understand at this point (IMHO) is the scope of
> this "HPC use case," as this will determine just how minimal we can be.
> 
> I get the impression that the principal goal may be "job submission to a
> cluster." Is that correct? How do we start to circumscribe the scope more
> explicitly?
> 
> Ian.
> 
> 
> 
> At 05:45 AM 2/16/2006 -0800, Marvin Theimer wrote:
> 
> Enclosed is a paper that advocates an additional set of activities that the 
> authors believe that the OGSA working groups should engage in.
> 
> 
> 
> Broadly speaking, the OGSA and related working groups are already doing a 
> bunch of important things:
> 
> ·         There is broad exploration of the big picture, including enumeration 
> of use cases, taxonomy of areas, identification of research issues, etc.
> 
> ·         There is work going on in each of the horizontal areas that have 
> been identified, such as EMS, data services, etc.
> 
> ·         There is working going around individual specifications, such as 
> BES, JSDL, etc.
> 
> 
> 
> Given that individual specifications are beginning to come to fruition, the 
> authors believe it is time to also start defining vertical profilesthat 
> precisely describe how groups of individual specifications should be employed 
> to implement specific use cases in an interoperable manner.  The authors also 
> believe that the process of defining these profiles offers an opportunity to 
> close the design loopby relating the various on-going protocol and standards 
> efforts back to the use cases in a very concrete manner.  This provides an 
> end-to-end setting in which to identify holes and issues that might require 
> additional protocols and/or (incremental) changes to existing protocols. The 
> paper introduces both the general notion of doing focused vertical design 
> effortsand then focuses on a specific vertical design effort, namely a minimal 
> HPC design. 
> 
> 
> 
> The paper derives a specific HPC design in a first principlesmanner since the 
> authors believe that this increases the chances of identifying issues.  As a 
> consequence, existing specifications and the activities of existing working 
> groups are not mentioned and this paper is not an attempt to actually define a 
> specifications profile.  Also, the absence of references to existing work is 
> not meant to imply that such work is in any way irrelevant or inappropriate.  
> The paper should be viewed as a first abstract attempt to propose a new kind 
> of activity within OGSA.  The expectation is that future open discussions and 
> publications will explore the concrete details of such a proposal.
> 
> 
> 
> This paper was recently sent to a few key individuals in order to get feedback 
> from them before submitting it to the wider GGF community.  Unfortunately that 
> process took longer than intended and some members of the community may have 
> already seen a copy of the paper without knowing the context within it was 
> written.  This email should hopefully dispel any misconceptions that may have 
> occurred.
> 
> 
> 
> For those people who will be around on for the F2F meetings on Friday, Marvin 
> Theimer will be giving a talk on the contents of this paper at a time and 
> place to be announced.
> 
> 
> 
> Marvin Theimer, Savas Parastatidis, Tony Hey, Marty Humphrey, Geoffrey Fox
> 
> 
> 
> _______________________________________________________________
> Ian Foster                   www.mcs.anl.gov/~foster
> Math & Computer Science Div.  Dept of Computer Science
> Argonne National Laboratory   The University of Chicago   
> Argonne, IL 60439, U.S.A.    Chicago, IL 60637, U.S.A.
> Tel: 630 252 4619            Fax: 630 252 1997
>         Globus Alliance, www.globus.org <http://www.globus.org/>
> 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/ogsa-wg/attachments/20060321/0b8c2c43/attachment.html 


More information about the ogsa-wg mailing list