[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] Adding new ClassAd functions to HTC



Hi Brian, Todd,

thanks to both of you! Precisely the information I was looking for.

Cheers,
Max

Am 11.11.2014 um 20:56 schrieb Todd Tannenbaum <tannenba@xxxxxxxxxxx>:

> On 11/11/2014 11:55 AM, Brian Bockelman wrote:
>> 
>>> On Nov 10, 2014, at 3:56 AM, Fischer, Max (SCC) <max.fischer@xxxxxxx> wrote:
>>> 
>>> Hi all,
>>> 
>>> I’m looking for a way to query a REST service on our worker nodes for job matching. Dumping the information into the job/worker ClassAds as lists is not possible due to the data volume.
>>> I’m constrained by having to execute the query on the worker node, but with information from the job, during START/RANK/… evaluation.
>>> 
>>> It seems the only realistic solution is a custom ClassAd function, similar to the HDFS plugin [1]. I’m lost at how to include a new ClassAd function into HTC itself, though. Is there any tutorial, guide or other information on this?
>> 
>> Hi Max,
>> 
>> I think Dan Bradley wrote this up (very well) once - but I also think the tutorial disappeared when he moved on to a new job.  :(
>> 
>> Here's a perhaps-simpler example custom function to start with:
>> 
>> https://github.com/bbockelm/condor-ce/blob/master/src/classad_ce.cpp
>> 
>> Basically, you compile your function into a shared library and add the shared library to CLASSAD_USER_LIB.
>> 
>> One thing to consider is that the negotiator may evaluate the function many, many times (note - this means that having side-effects can be very bad!).  If you want an example of a custom function whose results are cached, look here:
>> 
>> https://github.com/bbockelm/classad-xrootd-mapping/tree/master/src
>> 
>> (Very similar idea to Stephen's HDFS function; I don't recall which code came first)
>> 
>>> Alternatively, is there a simpler way to execute an arbitrary query from within a ClassAd?
>>> 
>> 
>> Nothing comes to mind.
>> 
>> Brian
>> 
>> PS - I'm working on a patch that allows you to write custom function in python, but it's not done / released yet.
>> 
> 
> FWIW, way back when we first added the ability to create custom classad 
> functions in a shared library, we did so in order to address a 
> job-steering-based-upon-data-placement scenario very similar to what is 
> described above.  We wrote a paper on how it all worked, including a 
> discussion about the custom classad function design; it may be 
> interesting reading for you.
> 
> See:
> Andrew Baranovski, Gabriele Garzoglio, Igor Terekhov, Alain Roy and Todd 
> Tannenbaum, "Management of Grid Jobs and Data within SAMGrid", 
> Proceedings of the 2004 IEEE International Conference on Cluster 
> Computing, pages 353-360, San Diego, CA, September 2004.
>   PDF: http://htcondor.org/doc/samgrid-cluster2004.pdf
> 
> BTW, you can find many more papers published by folks who worked on 
> HTCondor over the years at:
>   http://htcondor.org/publications.html
> 
> regards,
> Todd
> 
> 
> 
> 
> _______________________________________________
> HTCondor-users mailing list
> To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a
> subject: Unsubscribe
> You can also unsubscribe by visiting
> https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users
> 
> The archives can be found at:
> https://lists.cs.wisc.edu/archive/htcondor-users/