From hategan at mcs.anl.gov Fri Jul 4 03:07:26 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 4 Jul 2014 01:07:26 -0700
Subject: [Swift-devel] changes
Message-ID: <1404461246.11929.27.camel@echo>
Hi,
I committed a fairly large number of changes. Some things got limited
testing, and some are work in progress. For example, I need to update
sites files used in tests, but it's getting late here.
Anyway, here's a summary:
1. New sites.xml format and removal of tc.data. I expect a bunch of
things to break, but we discussed cleaning both sites.xml and tc.data
many times and I guess I never got the courage to do it until now. This
format is not backwards compatible (intentionally). It goes like this:
?
...*
...*
*
*
*
*
?
*
?
?
There are no more namespaces since they were mostly used to figure out
whether a property was going to the task or the site. I also changed
"profile" to "property", since "profile" seemed a bit arcane.
You should also now be able to use maxParallelTasks and
initialParallelTasks instead of jobThrottle and initialScore. It
computes the latter automatically.
2. Coasters now support multiple configurations. So you can have two
local:local coaster sites with different settings and it should work.
The way this works is that every configuration (and every different run)
gets its own job queue, settings, and block allocator, and they don't
interact with each other. This might be problematic with things like
slots which is meant to limit the number of jobs globally, but that's a
minor annoyance.
3. Passive workers can be launched with a -c(oncurrency) argument (1 by
default). This will be the jobs per node setting. Each worker can have a
different number, and that should work as expected. For passive workers,
the client side jobsPerNode setting will be ignored.
4. There is a tool to analyze logs now (swift-log-info). This is simply
an offline version of the http monitor. It can parse logs and feed the
information to a web browser. It should also be able to follow logs as
they are produced and feed live information to a browser. It can also
fake a live log by parsing it slowly instead of all-at-once.
5. The http monitor got a bit of an update. You can look at all kinds of
statistics, browse through apps, look at pretty plots of how apps
behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
fashion. It should be cute and useful in one. Won't work with older
logs. Some pics attached.
6. There are now worker.pl "probes" for CPU usage, disk usage, and some
I/O stats. If you click on a link to a worker in the http monitor,
you'll get nice graphs of these things. The probes are currently
hardcoded to run every 60 seconds (although in the pictures below they
ran at 1/s).
Mihael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: s1.png
Type: image/png
Size: 65562 bytes
Desc: not available
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: s2.png
Type: image/png
Size: 72654 bytes
Desc: not available
URL:
From wilde at anl.gov Fri Jul 4 11:02:46 2014
From: wilde at anl.gov (Michael Wilde)
Date: Fri, 4 Jul 2014 11:02:46 -0500
Subject: [Swift-devel] changes
In-Reply-To: <1404461246.11929.27.camel@echo>
References: <1404461246.11929.27.camel@echo>
Message-ID: <53B6D026.2030205@anl.gov>
A lot of great work, here, Mihael - very nice!
We'll need to re-adjust the new config mechanism to match this, unless
you've already done that.
This means that we'll need to get all users converted to the new config
before this gets released - else they will have no backwards
compatibility for their current configurations (sites and tc files).
Nonetheless, as we discussed in a prior meeting, I think we agreed that
this was a necessary step and the right way to go.
- Mike
On 7/4/14, 3:07 AM, Mihael Hategan wrote:
> Hi,
>
> I committed a fairly large number of changes. Some things got limited
> testing, and some are work in progress. For example, I need to update
> sites files used in tests, but it's getting late here.
> Anyway, here's a summary:
>
> 1. New sites.xml format and removal of tc.data. I expect a bunch of
> things to break, but we discussed cleaning both sites.xml and tc.data
> many times and I guess I never got the courage to do it until now. This
> format is not backwards compatible (intentionally). It goes like this:
>
> ?
> ...*
> ...*
> *
> *
> *
>
>
>
>
>
> *
>
> ?
> *
>
>
> ?
> ?
>
>
>
> There are no more namespaces since they were mostly used to figure out
> whether a property was going to the task or the site. I also changed
> "profile" to "property", since "profile" seemed a bit arcane.
>
> You should also now be able to use maxParallelTasks and
> initialParallelTasks instead of jobThrottle and initialScore. It
> computes the latter automatically.
>
> 2. Coasters now support multiple configurations. So you can have two
> local:local coaster sites with different settings and it should work.
> The way this works is that every configuration (and every different run)
> gets its own job queue, settings, and block allocator, and they don't
> interact with each other. This might be problematic with things like
> slots which is meant to limit the number of jobs globally, but that's a
> minor annoyance.
>
> 3. Passive workers can be launched with a -c(oncurrency) argument (1 by
> default). This will be the jobs per node setting. Each worker can have a
> different number, and that should work as expected. For passive workers,
> the client side jobsPerNode setting will be ignored.
>
> 4. There is a tool to analyze logs now (swift-log-info). This is simply
> an offline version of the http monitor. It can parse logs and feed the
> information to a web browser. It should also be able to follow logs as
> they are produced and feed live information to a browser. It can also
> fake a live log by parsing it slowly instead of all-at-once.
>
> 5. The http monitor got a bit of an update. You can look at all kinds of
> statistics, browse through apps, look at pretty plots of how apps
> behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
> fashion. It should be cute and useful in one. Won't work with older
> logs. Some pics attached.
>
> 6. There are now worker.pl "probes" for CPU usage, disk usage, and some
> I/O stats. If you click on a link to a worker in the http monitor,
> you'll get nice graphs of these things. The probes are currently
> hardcoded to run every 60 seconds (although in the pictures below they
> ran at 1/s).
>
> Mihael
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tim.g.armstrong at gmail.com Fri Jul 4 11:49:11 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Fri, 4 Jul 2014 11:49:11 -0500
Subject: [Swift-devel] changes
In-Reply-To: <53B6D026.2030205@anl.gov>
References: <1404461246.11929.27.camel@echo>
<53B6D026.2030205@anl.gov>
Message-ID:
I had a semi-related question: is there any documentation aside from the
user guide about sites, providers, and job managers in Swift/Coasters?
- Tim
On Fri, Jul 4, 2014 at 11:02 AM, Michael Wilde wrote:
> A lot of great work, here, Mihael - very nice!
>
> We'll need to re-adjust the new config mechanism to match this, unless
> you've already done that.
>
> This means that we'll need to get all users converted to the new config
> before this gets released - else they will have no backwards compatibility
> for their current configurations (sites and tc files).
>
> Nonetheless, as we discussed in a prior meeting, I think we agreed that
> this was a necessary step and the right way to go.
>
> - Mike
>
>
> On 7/4/14, 3:07 AM, Mihael Hategan wrote:
>
> Hi,
>
> I committed a fairly large number of changes. Some things got limited
> testing, and some are work in progress. For example, I need to update
> sites files used in tests, but it's getting late here.
> Anyway, here's a summary:
>
> 1. New sites.xml format and removal of tc.data. I expect a bunch of
> things to break, but we discussed cleaning both sites.xml and tc.data
> many times and I guess I never got the courage to do it until now. This
> format is not backwards compatible (intentionally). It goes like this:
>
> ?
> ...*
> ...*
> *
> *
> *
>
>
>
>
>
> *
>
> ?
> *
>
>
> ?
> ?
>
>
>
> There are no more namespaces since they were mostly used to figure out
> whether a property was going to the task or the site. I also changed
> "profile" to "property", since "profile" seemed a bit arcane.
>
> You should also now be able to use maxParallelTasks and
> initialParallelTasks instead of jobThrottle and initialScore. It
> computes the latter automatically.
>
> 2. Coasters now support multiple configurations. So you can have two
> local:local coaster sites with different settings and it should work.
> The way this works is that every configuration (and every different run)
> gets its own job queue, settings, and block allocator, and they don't
> interact with each other. This might be problematic with things like
> slots which is meant to limit the number of jobs globally, but that's a
> minor annoyance.
>
> 3. Passive workers can be launched with a -c(oncurrency) argument (1 by
> default). This will be the jobs per node setting. Each worker can have a
> different number, and that should work as expected. For passive workers,
> the client side jobsPerNode setting will be ignored.
>
> 4. There is a tool to analyze logs now (swift-log-info). This is simply
> an offline version of the http monitor. It can parse logs and feed the
> information to a web browser. It should also be able to follow logs as
> they are produced and feed live information to a browser. It can also
> fake a live log by parsing it slowly instead of all-at-once.
>
> 5. The http monitor got a bit of an update. You can look at all kinds of
> statistics, browse through apps, look at pretty plots of how apps
> behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
> fashion. It should be cute and useful in one. Won't work with older
> logs. Some pics attached.
>
> 6. There are now worker.pl "probes" for CPU usage, disk usage, and some
> I/O stats. If you click on a link to a worker in the http monitor,
> you'll get nice graphs of these things. The probes are currently
> hardcoded to run every 60 seconds (although in the pictures below they
> ran at 1/s).
>
> Mihael
>
>
>
> _______________________________________________
> Swift-devel mailing listSwift-devel at ci.uchicago.eduhttps://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
> --
> Michael Wilde
> Mathematics and Computer Science Computation Institute
> Argonne National Laboratory The University of Chicago
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From wilde at anl.gov Fri Jul 4 12:08:12 2014
From: wilde at anl.gov (Michael Wilde)
Date: Fri, 4 Jul 2014 12:08:12 -0500
Subject: [Swift-devel] changes
In-Reply-To:
References: <1404461246.11929.27.camel@echo> <53B6D026.2030205@anl.gov>
Message-ID: <53B6DF7C.40602@anl.gov>
Tim, there's the Site Guide which covers this in a per-site manner:
http://swift-lang.org/guides/trunk/siteguide/siteguide.html
We need to revise this material and integrate more of the concepts into
the User Guide.
- Mike
On 7/4/14, 11:49 AM, Tim Armstrong wrote:
> I had a semi-related question: is there any documentation aside from
> the user guide about sites, providers, and job managers in Swift/Coasters?
>
> - Tim
>
>
> On Fri, Jul 4, 2014 at 11:02 AM, Michael Wilde > wrote:
>
> A lot of great work, here, Mihael - very nice!
>
> We'll need to re-adjust the new config mechanism to match this,
> unless you've already done that.
>
> This means that we'll need to get all users converted to the new
> config before this gets released - else they will have no
> backwards compatibility for their current configurations (sites
> and tc files).
>
> Nonetheless, as we discussed in a prior meeting, I think we agreed
> that this was a necessary step and the right way to go.
>
> - Mike
>
>
> On 7/4/14, 3:07 AM, Mihael Hategan wrote:
>> Hi,
>>
>> I committed a fairly large number of changes. Some things got limited
>> testing, and some are work in progress. For example, I need to update
>> sites files used in tests, but it's getting late here.
>> Anyway, here's a summary:
>>
>> 1. New sites.xml format and removal of tc.data. I expect a bunch of
>> things to break, but we discussed cleaning both sites.xml and tc.data
>> many times and I guess I never got the courage to do it until now. This
>> format is not backwards compatible (intentionally). It goes like this:
>>
>> ?
>> ...*
>> ...*
>> *
>> *
>> *
>>
>>
>>
>>
>>
>> *
>>
>> ?
>> *
>>
>>
>> ?
>> ?
>>
>>
>>
>> There are no more namespaces since they were mostly used to figure out
>> whether a property was going to the task or the site. I also changed
>> "profile" to "property", since "profile" seemed a bit arcane.
>>
>> You should also now be able to use maxParallelTasks and
>> initialParallelTasks instead of jobThrottle and initialScore. It
>> computes the latter automatically.
>>
>> 2. Coasters now support multiple configurations. So you can have two
>> local:local coaster sites with different settings and it should work.
>> The way this works is that every configuration (and every different run)
>> gets its own job queue, settings, and block allocator, and they don't
>> interact with each other. This might be problematic with things like
>> slots which is meant to limit the number of jobs globally, but that's a
>> minor annoyance.
>>
>> 3. Passive workers can be launched with a -c(oncurrency) argument (1 by
>> default). This will be the jobs per node setting. Each worker can have a
>> different number, and that should work as expected. For passive workers,
>> the client side jobsPerNode setting will be ignored.
>>
>> 4. There is a tool to analyze logs now (swift-log-info). This is simply
>> an offline version of the http monitor. It can parse logs and feed the
>> information to a web browser. It should also be able to follow logs as
>> they are produced and feed live information to a browser. It can also
>> fake a live log by parsing it slowly instead of all-at-once.
>>
>> 5. The http monitor got a bit of an update. You can look at all kinds of
>> statistics, browse through apps, look at pretty plots of how apps
>> behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
>> fashion. It should be cute and useful in one. Won't work with older
>> logs. Some pics attached.
>>
>> 6. There are nowworker.pl "probes" for CPU usage, disk usage, and some
>> I/O stats. If you click on a link to a worker in the http monitor,
>> you'll get nice graphs of these things. The probes are currently
>> hardcoded to run every 60 seconds (although in the pictures below they
>> ran at 1/s).
>>
>> Mihael
>>
>>
>> _______________________________________________
>> Swift-devel mailing list
>> Swift-devel at ci.uchicago.edu
>> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
> --
> Michael Wilde
> Mathematics and Computer Science Computation Institute
> Argonne National Laboratory The University of Chicago
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Fri Jul 4 12:09:29 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 4 Jul 2014 10:09:29 -0700
Subject: [Swift-devel] changes
In-Reply-To: <53B6D026.2030205@anl.gov>
References: <1404461246.11929.27.camel@echo> <53B6D026.2030205@anl.gov>
Message-ID: <1404493769.20087.6.camel@echo>
On Fri, 2014-07-04 at 11:02 -0500, Michael Wilde wrote:
> A lot of great work, here, Mihael - very nice!
Thanks.
>
> We'll need to re-adjust the new config mechanism to match this, unless
> you've already done that.
I have not. I wanted to sync my changes first.
>
> This means that we'll need to get all users converted to the new config
> before this gets released - else they will have no backwards
> compatibility for their current configurations (sites and tc files).
I think you suggested and I very much agreed that a tool to upgrade the
sites file will be there. I have not yet written it, but it's coming
today-ish.
>
> Nonetheless, as we discussed in a prior meeting, I think we agreed that
> this was a necessary step and the right way to go.
I have my doubts about "necessary". I know I argued that previously.
Technically speaking, if I can write a conversion tool, then it can be
done automatically under the covers.
But I think it was a step in the right direction.
Mihael
From hategan at mcs.anl.gov Fri Jul 4 12:10:42 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 4 Jul 2014 10:10:42 -0700
Subject: [Swift-devel] changes
In-Reply-To:
References: <1404461246.11929.27.camel@echo> <53B6D026.2030205@anl.gov>
Message-ID: <1404493842.20087.7.camel@echo>
No, but I think this is a good opportunity for me to write one.
Mihael
On Fri, 2014-07-04 at 11:49 -0500, Tim Armstrong wrote:
> I had a semi-related question: is there any documentation aside from the
> user guide about sites, providers, and job managers in Swift/Coasters?
>
> - Tim
>
>
> On Fri, Jul 4, 2014 at 11:02 AM, Michael Wilde wrote:
>
> > A lot of great work, here, Mihael - very nice!
> >
> > We'll need to re-adjust the new config mechanism to match this, unless
> > you've already done that.
> >
> > This means that we'll need to get all users converted to the new config
> > before this gets released - else they will have no backwards compatibility
> > for their current configurations (sites and tc files).
> >
> > Nonetheless, as we discussed in a prior meeting, I think we agreed that
> > this was a necessary step and the right way to go.
> >
> > - Mike
> >
> >
> > On 7/4/14, 3:07 AM, Mihael Hategan wrote:
> >
> > Hi,
> >
> > I committed a fairly large number of changes. Some things got limited
> > testing, and some are work in progress. For example, I need to update
> > sites files used in tests, but it's getting late here.
> > Anyway, here's a summary:
> >
> > 1. New sites.xml format and removal of tc.data. I expect a bunch of
> > things to break, but we discussed cleaning both sites.xml and tc.data
> > many times and I guess I never got the courage to do it until now. This
> > format is not backwards compatible (intentionally). It goes like this:
> >
> > ?
> > ...*
> > ...*
> > *
> > *
> > *
> >
> >
> >
> >
> >
> > *
> >
> > ?
> > *
> >
> >
> > ?
> > ?
> >
> >
> >
> > There are no more namespaces since they were mostly used to figure out
> > whether a property was going to the task or the site. I also changed
> > "profile" to "property", since "profile" seemed a bit arcane.
> >
> > You should also now be able to use maxParallelTasks and
> > initialParallelTasks instead of jobThrottle and initialScore. It
> > computes the latter automatically.
> >
> > 2. Coasters now support multiple configurations. So you can have two
> > local:local coaster sites with different settings and it should work.
> > The way this works is that every configuration (and every different run)
> > gets its own job queue, settings, and block allocator, and they don't
> > interact with each other. This might be problematic with things like
> > slots which is meant to limit the number of jobs globally, but that's a
> > minor annoyance.
> >
> > 3. Passive workers can be launched with a -c(oncurrency) argument (1 by
> > default). This will be the jobs per node setting. Each worker can have a
> > different number, and that should work as expected. For passive workers,
> > the client side jobsPerNode setting will be ignored.
> >
> > 4. There is a tool to analyze logs now (swift-log-info). This is simply
> > an offline version of the http monitor. It can parse logs and feed the
> > information to a web browser. It should also be able to follow logs as
> > they are produced and feed live information to a browser. It can also
> > fake a live log by parsing it slowly instead of all-at-once.
> >
> > 5. The http monitor got a bit of an update. You can look at all kinds of
> > statistics, browse through apps, look at pretty plots of how apps
> > behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
> > fashion. It should be cute and useful in one. Won't work with older
> > logs. Some pics attached.
> >
> > 6. There are now worker.pl "probes" for CPU usage, disk usage, and some
> > I/O stats. If you click on a link to a worker in the http monitor,
> > you'll get nice graphs of these things. The probes are currently
> > hardcoded to run every 60 seconds (although in the pictures below they
> > ran at 1/s).
> >
> > Mihael
> >
> >
> >
> > _______________________________________________
> > Swift-devel mailing listSwift-devel at ci.uchicago.eduhttps://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
> >
> >
> > --
> > Michael Wilde
> > Mathematics and Computer Science Computation Institute
> > Argonne National Laboratory The University of Chicago
> >
> >
> > _______________________________________________
> > Swift-devel mailing list
> > Swift-devel at ci.uchicago.edu
> > https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
> >
> >
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
From davidkelly at uchicago.edu Fri Jul 4 18:05:06 2014
From: davidkelly at uchicago.edu (David Kelly)
Date: Fri, 4 Jul 2014 18:05:06 -0500
Subject: [Swift-devel] changes
In-Reply-To: <1404461246.11929.27.camel@echo>
References: <1404461246.11929.27.camel@echo>
Message-ID:
This looks great - lots of very useful changes. I'll volunteer to make the
new config work with this sites.xml format.
On Fri, Jul 4, 2014 at 3:07 AM, Mihael Hategan wrote:
> Hi,
>
> I committed a fairly large number of changes. Some things got limited
> testing, and some are work in progress. For example, I need to update
> sites files used in tests, but it's getting late here.
> Anyway, here's a summary:
>
> 1. New sites.xml format and removal of tc.data. I expect a bunch of
> things to break, but we discussed cleaning both sites.xml and tc.data
> many times and I guess I never got the courage to do it until now. This
> format is not backwards compatible (intentionally). It goes like this:
>
> ?
> ...*
> ...*
> *
> *
> *
>
>
>
>
>
> *
>
> ?
> *
>
>
> ?
> ?
>
>
>
> There are no more namespaces since they were mostly used to figure out
> whether a property was going to the task or the site. I also changed
> "profile" to "property", since "profile" seemed a bit arcane.
>
> You should also now be able to use maxParallelTasks and
> initialParallelTasks instead of jobThrottle and initialScore. It
> computes the latter automatically.
>
> 2. Coasters now support multiple configurations. So you can have two
> local:local coaster sites with different settings and it should work.
> The way this works is that every configuration (and every different run)
> gets its own job queue, settings, and block allocator, and they don't
> interact with each other. This might be problematic with things like
> slots which is meant to limit the number of jobs globally, but that's a
> minor annoyance.
>
> 3. Passive workers can be launched with a -c(oncurrency) argument (1 by
> default). This will be the jobs per node setting. Each worker can have a
> different number, and that should work as expected. For passive workers,
> the client side jobsPerNode setting will be ignored.
>
> 4. There is a tool to analyze logs now (swift-log-info). This is simply
> an offline version of the http monitor. It can parse logs and feed the
> information to a web browser. It should also be able to follow logs as
> they are produced and feed live information to a browser. It can also
> fake a live log by parsing it slowly instead of all-at-once.
>
> 5. The http monitor got a bit of an update. You can look at all kinds of
> statistics, browse through apps, look at pretty plots of how apps
> behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
> fashion. It should be cute and useful in one. Won't work with older
> logs. Some pics attached.
>
> 6. There are now worker.pl "probes" for CPU usage, disk usage, and some
> I/O stats. If you click on a link to a worker in the http monitor,
> you'll get nice graphs of these things. The probes are currently
> hardcoded to run every 60 seconds (although in the pictures below they
> ran at 1/s).
>
> Mihael
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From wilde at anl.gov Fri Jul 4 18:21:08 2014
From: wilde at anl.gov (Michael Wilde)
Date: Fri, 4 Jul 2014 18:21:08 -0500
Subject: [Swift-devel] changes
In-Reply-To:
References: <1404461246.11929.27.camel@echo>
Message-ID: <53B736E4.7050202@anl.gov>
David,
Mihael suggested making the new config native to Swift, by converting
the perl config code into Java.
That sounded pretty reasonable, and would make the format you devised be
the sole external specification of all properties.
We were thinking that this could be done in 0.96. Thoughts?
- Mike
On 7/4/14, 6:05 PM, David Kelly wrote:
> This looks great - lots of very useful changes. I'll volunteer to make
> the new config work with this sites.xml format.
>
>
> On Fri, Jul 4, 2014 at 3:07 AM, Mihael Hategan > wrote:
>
> Hi,
>
> I committed a fairly large number of changes. Some things got limited
> testing, and some are work in progress. For example, I need to update
> sites files used in tests, but it's getting late here.
> Anyway, here's a summary:
>
> 1. New sites.xml format and removal of tc.data. I expect a bunch of
> things to break, but we discussed cleaning both sites.xml and tc.data
> many times and I guess I never got the courage to do it until now.
> This
> format is not backwards compatible (intentionally). It goes like this:
>
> ?
> ...*
> ...*
> *
> *
> *
>
>
>
>
>
> *
>
> ?
> *
>
>
> ?
> ?
>
>
>
> There are no more namespaces since they were mostly used to figure out
> whether a property was going to the task or the site. I also changed
> "profile" to "property", since "profile" seemed a bit arcane.
>
> You should also now be able to use maxParallelTasks and
> initialParallelTasks instead of jobThrottle and initialScore. It
> computes the latter automatically.
>
> 2. Coasters now support multiple configurations. So you can have two
> local:local coaster sites with different settings and it should work.
> The way this works is that every configuration (and every
> different run)
> gets its own job queue, settings, and block allocator, and they don't
> interact with each other. This might be problematic with things like
> slots which is meant to limit the number of jobs globally, but
> that's a
> minor annoyance.
>
> 3. Passive workers can be launched with a -c(oncurrency) argument
> (1 by
> default). This will be the jobs per node setting. Each worker can
> have a
> different number, and that should work as expected. For passive
> workers,
> the client side jobsPerNode setting will be ignored.
>
> 4. There is a tool to analyze logs now (swift-log-info). This is
> simply
> an offline version of the http monitor. It can parse logs and feed the
> information to a web browser. It should also be able to follow logs as
> they are produced and feed live information to a browser. It can also
> fake a live log by parsing it slowly instead of all-at-once.
>
> 5. The http monitor got a bit of an update. You can look at all
> kinds of
> statistics, browse through apps, look at pretty plots of how apps
> behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
> fashion. It should be cute and useful in one. Won't work with older
> logs. Some pics attached.
>
> 6. There are now worker.pl "probes" for CPU
> usage, disk usage, and some
> I/O stats. If you click on a link to a worker in the http monitor,
> you'll get nice graphs of these things. The probes are currently
> hardcoded to run every 60 seconds (although in the pictures below they
> ran at 1/s).
>
> Mihael
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From davidkelly at uchicago.edu Fri Jul 4 18:45:19 2014
From: davidkelly at uchicago.edu (David Kelly)
Date: Fri, 4 Jul 2014 18:45:19 -0500
Subject: [Swift-devel] changes
In-Reply-To: <53B736E4.7050202@anl.gov>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
Message-ID:
Great, I think that's a good idea. Most of how it works should be described
in the trunk userguide - how to handle run directories, config syntax,
search paths for swift.properties, templating, etc.
On Fri, Jul 4, 2014 at 6:21 PM, Michael Wilde wrote:
> David,
>
> Mihael suggested making the new config native to Swift, by converting the
> perl config code into Java.
>
> That sounded pretty reasonable, and would make the format you devised be
> the sole external specification of all properties.
>
> We were thinking that this could be done in 0.96. Thoughts?
>
> - Mike
>
>
> On 7/4/14, 6:05 PM, David Kelly wrote:
>
> This looks great - lots of very useful changes. I'll volunteer to make the
> new config work with this sites.xml format.
>
>
> On Fri, Jul 4, 2014 at 3:07 AM, Mihael Hategan
> wrote:
>
>> Hi,
>>
>> I committed a fairly large number of changes. Some things got limited
>> testing, and some are work in progress. For example, I need to update
>> sites files used in tests, but it's getting late here.
>> Anyway, here's a summary:
>>
>> 1. New sites.xml format and removal of tc.data. I expect a bunch of
>> things to break, but we discussed cleaning both sites.xml and tc.data
>> many times and I guess I never got the courage to do it until now. This
>> format is not backwards compatible (intentionally). It goes like this:
>>
>> ?
>> ...*
>> ...*
>> *
>> *
>> *
>>
>>
>>
>>
>>
>> *
>>
>> ?
>> *
>>
>>
>> ?
>> ?
>>
>>
>>
>> There are no more namespaces since they were mostly used to figure out
>> whether a property was going to the task or the site. I also changed
>> "profile" to "property", since "profile" seemed a bit arcane.
>>
>> You should also now be able to use maxParallelTasks and
>> initialParallelTasks instead of jobThrottle and initialScore. It
>> computes the latter automatically.
>>
>> 2. Coasters now support multiple configurations. So you can have two
>> local:local coaster sites with different settings and it should work.
>> The way this works is that every configuration (and every different run)
>> gets its own job queue, settings, and block allocator, and they don't
>> interact with each other. This might be problematic with things like
>> slots which is meant to limit the number of jobs globally, but that's a
>> minor annoyance.
>>
>> 3. Passive workers can be launched with a -c(oncurrency) argument (1 by
>> default). This will be the jobs per node setting. Each worker can have a
>> different number, and that should work as expected. For passive workers,
>> the client side jobsPerNode setting will be ignored.
>>
>> 4. There is a tool to analyze logs now (swift-log-info). This is simply
>> an offline version of the http monitor. It can parse logs and feed the
>> information to a web browser. It should also be able to follow logs as
>> they are produced and feed live information to a browser. It can also
>> fake a live log by parsing it slowly instead of all-at-once.
>>
>> 5. The http monitor got a bit of an update. You can look at all kinds of
>> statistics, browse through apps, look at pretty plots of how apps
>> behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
>> fashion. It should be cute and useful in one. Won't work with older
>> logs. Some pics attached.
>>
>> 6. There are now worker.pl "probes" for CPU usage, disk usage, and some
>> I/O stats. If you click on a link to a worker in the http monitor,
>> you'll get nice graphs of these things. The probes are currently
>> hardcoded to run every 60 seconds (although in the pictures below they
>> ran at 1/s).
>>
>> Mihael
>>
>> _______________________________________________
>> Swift-devel mailing list
>> Swift-devel at ci.uchicago.edu
>> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>>
>>
>
>
> _______________________________________________
> Swift-devel mailing listSwift-devel at ci.uchicago.eduhttps://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
> --
> Michael Wilde
> Mathematics and Computer Science Computation Institute
> Argonne National Laboratory The University of Chicago
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Sat Jul 5 00:58:02 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 4 Jul 2014 22:58:02 -0700
Subject: [Swift-devel] changes
In-Reply-To:
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
Message-ID: <1404539882.26546.8.camel@echo>
Thanks. I'll probably have questions as I go along.
So when I spoke to Mike earlier I suggested YAML. After reading a bit I
became convinced that YAML is not such a good idea. It's too complex and
ambiguous at times.
The unfortunate thing is that there is no good standardized hierarchical
language for this sort of business except for XML. However, after some
searching I found this: https://github.com/typesafehub/config
It has a format that is a superset of JSON which allows a few nice
syntactic changes that make it more user-friendly, such as not having to
quote keys, the ability to use ":" and "=" interchangeably, property/env
var expansion, and the ability to omit the separating comma if there is
a new line. For example:
foo {
bar = 10
baz = 12
}
This is I believe very close to David's format.
But there is something else, which I like, and that is include
directives. I think we ran into a number of problems with the fact that
Swift loads various configurations and that can be surprising to a user.
At the same time, some users do want to have some default settings and
only override a few.
I believe that includes address this problem elegantly in that users can
use common configurations and override a few things, but it will always
be obvious when looking at a config file that there are things coming
from another file.
Mihael
On Fri, 2014-07-04 at 18:45 -0500, David Kelly wrote:
> Great, I think that's a good idea. Most of how it works should be described
> in the trunk userguide - how to handle run directories, config syntax,
> search paths for swift.properties, templating, etc.
>
>
> On Fri, Jul 4, 2014 at 6:21 PM, Michael Wilde wrote:
>
> > David,
> >
> > Mihael suggested making the new config native to Swift, by converting the
> > perl config code into Java.
> >
> > That sounded pretty reasonable, and would make the format you devised be
> > the sole external specification of all properties.
> >
> > We were thinking that this could be done in 0.96. Thoughts?
> >
> > - Mike
> >
> >
> > On 7/4/14, 6:05 PM, David Kelly wrote:
> >
> > This looks great - lots of very useful changes. I'll volunteer to make the
> > new config work with this sites.xml format.
> >
> >
> > On Fri, Jul 4, 2014 at 3:07 AM, Mihael Hategan
> > wrote:
> >
> >> Hi,
> >>
> >> I committed a fairly large number of changes. Some things got limited
> >> testing, and some are work in progress. For example, I need to update
> >> sites files used in tests, but it's getting late here.
> >> Anyway, here's a summary:
> >>
> >> 1. New sites.xml format and removal of tc.data. I expect a bunch of
> >> things to break, but we discussed cleaning both sites.xml and tc.data
> >> many times and I guess I never got the courage to do it until now. This
> >> format is not backwards compatible (intentionally). It goes like this:
> >>
> >> ?
> >> ...*
> >> ...*
> >> *
> >> *
> >> *
> >>
> >>
> >>
> >>
> >>
> >> *
> >>
> >> ?
> >> *
> >>
> >>
> >> ?
> >> ?
> >>
> >>
> >>
> >> There are no more namespaces since they were mostly used to figure out
> >> whether a property was going to the task or the site. I also changed
> >> "profile" to "property", since "profile" seemed a bit arcane.
> >>
> >> You should also now be able to use maxParallelTasks and
> >> initialParallelTasks instead of jobThrottle and initialScore. It
> >> computes the latter automatically.
> >>
> >> 2. Coasters now support multiple configurations. So you can have two
> >> local:local coaster sites with different settings and it should work.
> >> The way this works is that every configuration (and every different run)
> >> gets its own job queue, settings, and block allocator, and they don't
> >> interact with each other. This might be problematic with things like
> >> slots which is meant to limit the number of jobs globally, but that's a
> >> minor annoyance.
> >>
> >> 3. Passive workers can be launched with a -c(oncurrency) argument (1 by
> >> default). This will be the jobs per node setting. Each worker can have a
> >> different number, and that should work as expected. For passive workers,
> >> the client side jobsPerNode setting will be ignored.
> >>
> >> 4. There is a tool to analyze logs now (swift-log-info). This is simply
> >> an offline version of the http monitor. It can parse logs and feed the
> >> information to a web browser. It should also be able to follow logs as
> >> they are produced and feed live information to a browser. It can also
> >> fake a live log by parsing it slowly instead of all-at-once.
> >>
> >> 5. The http monitor got a bit of an update. You can look at all kinds of
> >> statistics, browse through apps, look at pretty plots of how apps
> >> behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
> >> fashion. It should be cute and useful in one. Won't work with older
> >> logs. Some pics attached.
> >>
> >> 6. There are now worker.pl "probes" for CPU usage, disk usage, and some
> >> I/O stats. If you click on a link to a worker in the http monitor,
> >> you'll get nice graphs of these things. The probes are currently
> >> hardcoded to run every 60 seconds (although in the pictures below they
> >> ran at 1/s).
> >>
> >> Mihael
> >>
> >> _______________________________________________
> >> Swift-devel mailing list
> >> Swift-devel at ci.uchicago.edu
> >> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
> >>
> >>
> >
> >
> > _______________________________________________
> > Swift-devel mailing listSwift-devel at ci.uchicago.eduhttps://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
> >
> >
> > --
> > Michael Wilde
> > Mathematics and Computer Science Computation Institute
> > Argonne National Laboratory The University of Chicago
> >
> >
> > _______________________________________________
> > Swift-devel mailing list
> > Swift-devel at ci.uchicago.edu
> > https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
> >
> >
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
From wilde at anl.gov Sat Jul 5 09:34:33 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sat, 5 Jul 2014 09:34:33 -0500
Subject: [Swift-devel] changes
In-Reply-To: <1404539882.26546.8.camel@echo>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo>
Message-ID: <53B80CF9.5000700@anl.gov>
This looks very good, deals with a lot of parsing issues, and is
licensed under Apache 2 (same as Swift).
But is it Java-only? If so, then down the road, for Swift/T with
Coaster C client, just parse options using a Java app perhaps?
- Mike
On 7/5/14, 12:58 AM, Mihael Hategan wrote:
> Thanks. I'll probably have questions as I go along.
>
> So when I spoke to Mike earlier I suggested YAML. After reading a bit I
> became convinced that YAML is not such a good idea. It's too complex and
> ambiguous at times.
>
> The unfortunate thing is that there is no good standardized hierarchical
> language for this sort of business except for XML. However, after some
> searching I found this: https://github.com/typesafehub/config
>
> It has a format that is a superset of JSON which allows a few nice
> syntactic changes that make it more user-friendly, such as not having to
> quote keys, the ability to use ":" and "=" interchangeably, property/env
> var expansion, and the ability to omit the separating comma if there is
> a new line. For example:
>
> foo {
> bar = 10
> baz = 12
> }
>
> This is I believe very close to David's format.
>
> But there is something else, which I like, and that is include
> directives. I think we ran into a number of problems with the fact that
> Swift loads various configurations and that can be surprising to a user.
> At the same time, some users do want to have some default settings and
> only override a few.
>
> I believe that includes address this problem elegantly in that users can
> use common configurations and override a few things, but it will always
> be obvious when looking at a config file that there are things coming
> from another file.
>
> Mihael
>
> On Fri, 2014-07-04 at 18:45 -0500, David Kelly wrote:
>> Great, I think that's a good idea. Most of how it works should be described
>> in the trunk userguide - how to handle run directories, config syntax,
>> search paths for swift.properties, templating, etc.
>>
>>
>> On Fri, Jul 4, 2014 at 6:21 PM, Michael Wilde wrote:
>>
>>> David,
>>>
>>> Mihael suggested making the new config native to Swift, by converting the
>>> perl config code into Java.
>>>
>>> That sounded pretty reasonable, and would make the format you devised be
>>> the sole external specification of all properties.
>>>
>>> We were thinking that this could be done in 0.96. Thoughts?
>>>
>>> - Mike
>>>
>>>
>>> On 7/4/14, 6:05 PM, David Kelly wrote:
>>>
>>> This looks great - lots of very useful changes. I'll volunteer to make the
>>> new config work with this sites.xml format.
>>>
>>>
>>> On Fri, Jul 4, 2014 at 3:07 AM, Mihael Hategan
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I committed a fairly large number of changes. Some things got limited
>>>> testing, and some are work in progress. For example, I need to update
>>>> sites files used in tests, but it's getting late here.
>>>> Anyway, here's a summary:
>>>>
>>>> 1. New sites.xml format and removal of tc.data. I expect a bunch of
>>>> things to break, but we discussed cleaning both sites.xml and tc.data
>>>> many times and I guess I never got the courage to do it until now. This
>>>> format is not backwards compatible (intentionally). It goes like this:
>>>>
>>>> ?
>>>> ...*
>>>> ...*
>>>> *
>>>> *
>>>> *
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *
>>>>
>>>> ?
>>>> *
>>>>
>>>>
>>>> ?
>>>> ?
>>>>
>>>>
>>>>
>>>> There are no more namespaces since they were mostly used to figure out
>>>> whether a property was going to the task or the site. I also changed
>>>> "profile" to "property", since "profile" seemed a bit arcane.
>>>>
>>>> You should also now be able to use maxParallelTasks and
>>>> initialParallelTasks instead of jobThrottle and initialScore. It
>>>> computes the latter automatically.
>>>>
>>>> 2. Coasters now support multiple configurations. So you can have two
>>>> local:local coaster sites with different settings and it should work.
>>>> The way this works is that every configuration (and every different run)
>>>> gets its own job queue, settings, and block allocator, and they don't
>>>> interact with each other. This might be problematic with things like
>>>> slots which is meant to limit the number of jobs globally, but that's a
>>>> minor annoyance.
>>>>
>>>> 3. Passive workers can be launched with a -c(oncurrency) argument (1 by
>>>> default). This will be the jobs per node setting. Each worker can have a
>>>> different number, and that should work as expected. For passive workers,
>>>> the client side jobsPerNode setting will be ignored.
>>>>
>>>> 4. There is a tool to analyze logs now (swift-log-info). This is simply
>>>> an offline version of the http monitor. It can parse logs and feed the
>>>> information to a web browser. It should also be able to follow logs as
>>>> they are produced and feed live information to a browser. It can also
>>>> fake a live log by parsing it slowly instead of all-at-once.
>>>>
>>>> 5. The http monitor got a bit of an update. You can look at all kinds of
>>>> statistics, browse through apps, look at pretty plots of how apps
>>>> behaved, etc. all in a nice dynamically updated ajaxy and hyperlinked
>>>> fashion. It should be cute and useful in one. Won't work with older
>>>> logs. Some pics attached.
>>>>
>>>> 6. There are now worker.pl "probes" for CPU usage, disk usage, and some
>>>> I/O stats. If you click on a link to a worker in the http monitor,
>>>> you'll get nice graphs of these things. The probes are currently
>>>> hardcoded to run every 60 seconds (although in the pictures below they
>>>> ran at 1/s).
>>>>
>>>> Mihael
>>>>
>>>> _______________________________________________
>>>> Swift-devel mailing list
>>>> Swift-devel at ci.uchicago.edu
>>>> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Swift-devel mailing listSwift-devel at ci.uchicago.eduhttps://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>>>
>>>
>>> --
>>> Michael Wilde
>>> Mathematics and Computer Science Computation Institute
>>> Argonne National Laboratory The University of Chicago
>>>
>>>
>>> _______________________________________________
>>> Swift-devel mailing list
>>> Swift-devel at ci.uchicago.edu
>>> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>>>
>>>
>> _______________________________________________
>> Swift-devel mailing list
>> Swift-devel at ci.uchicago.edu
>> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From hategan at mcs.anl.gov Sat Jul 5 13:03:30 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sat, 5 Jul 2014 11:03:30 -0700
Subject: [Swift-devel] changes
In-Reply-To: <53B80CF9.5000700@anl.gov>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
Message-ID: <1404583410.32736.2.camel@echo>
On Sat, 2014-07-05 at 09:34 -0500, Michael Wilde wrote:
> This looks very good, deals with a lot of parsing issues, and is
> licensed under Apache 2 (same as Swift).
>
> But is it Java-only? If so, then down the road, for Swift/T with
> Coaster C client, just parse options using a Java app perhaps?
It's Java only. I don't know. I guess writing one parser is better than
writing two parsers.
The only other reasonable choice is XML unless somebody knows something
else.
Mihael
From wilde at anl.gov Sat Jul 5 13:11:16 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sat, 5 Jul 2014 13:11:16 -0500
Subject: [Swift-devel] New parsing tool for swift.properties
In-Reply-To: <1404583410.32736.2.camel@echo>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
Message-ID: <53B83FC4.90408@anl.gov>
was: Re: [Swift-devel] changes
I think this tool (Typesafe config) looks promising; I would try it.
Once you have a property parser in Swift/K, that can be readily turned
into a standalone Java command to run for Swift/T, if/when needed, which
can emit Tcl or whatever other flat propoerty format is needed.
Sound reasonable?
- Mike
On 7/5/14, 1:03 PM, Mihael Hategan wrote:
> On Sat, 2014-07-05 at 09:34 -0500, Michael Wilde wrote:
>> This looks very good, deals with a lot of parsing issues, and is
>> licensed under Apache 2 (same as Swift).
>>
>> But is it Java-only? If so, then down the road, for Swift/T with
>> Coaster C client, just parse options using a Java app perhaps?
> It's Java only. I don't know. I guess writing one parser is better than
> writing two parsers.
>
> The only other reasonable choice is XML unless somebody knows something
> else.
>
> Mihael
>
>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From hategan at mcs.anl.gov Sat Jul 5 13:20:21 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sat, 5 Jul 2014 11:20:21 -0700
Subject: [Swift-devel] New parsing tool for swift.properties
In-Reply-To: <53B83FC4.90408@anl.gov>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo> <53B83FC4.90408@anl.gov>
Message-ID: <1404584421.393.5.camel@echo>
Maybe. I have no idea how the /K configuration structure makes sense
in /T. Tim, Justin?
Mihael
On Sat, 2014-07-05 at 13:11 -0500, Michael Wilde wrote:
> was: Re: [Swift-devel] changes
>
> I think this tool (Typesafe config) looks promising; I would try it.
>
> Once you have a property parser in Swift/K, that can be readily turned
> into a standalone Java command to run for Swift/T, if/when needed, which
> can emit Tcl or whatever other flat propoerty format is needed.
>
> Sound reasonable?
>
> - Mike
>
>
> On 7/5/14, 1:03 PM, Mihael Hategan wrote:
> > On Sat, 2014-07-05 at 09:34 -0500, Michael Wilde wrote:
> >> This looks very good, deals with a lot of parsing issues, and is
> >> licensed under Apache 2 (same as Swift).
> >>
> >> But is it Java-only? If so, then down the road, for Swift/T with
> >> Coaster C client, just parse options using a Java app perhaps?
> > It's Java only. I don't know. I guess writing one parser is better than
> > writing two parsers.
> >
> > The only other reasonable choice is XML unless somebody knows something
> > else.
> >
> > Mihael
> >
> >
>
From tim.g.armstrong at gmail.com Sat Jul 5 20:28:17 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Sat, 5 Jul 2014 20:28:17 -0500
Subject: [Swift-devel] changes
In-Reply-To: <1404583410.32736.2.camel@echo>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
Message-ID:
Trying to run a java parser from the C client sounds like an additional
source of deployment/configuration hassles. Is there a particular reason
why it needs to be the client though rather than the Coaster service that
handles the configuration?
To me it would make the most sense to either choose a simple constrained
format that its feasible to write a custom parser for, or to just use JSON
or XML where there are lots of existing parsers.
- Tim
On Sat, Jul 5, 2014 at 1:03 PM, Mihael Hategan wrote:
> On Sat, 2014-07-05 at 09:34 -0500, Michael Wilde wrote:
> > This looks very good, deals with a lot of parsing issues, and is
> > licensed under Apache 2 (same as Swift).
> >
> > But is it Java-only? If so, then down the road, for Swift/T with
> > Coaster C client, just parse options using a Java app perhaps?
>
> It's Java only. I don't know. I guess writing one parser is better than
> writing two parsers.
>
> The only other reasonable choice is XML unless somebody knows something
> else.
>
> Mihael
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tim.g.armstrong at gmail.com Sat Jul 5 20:37:06 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Sat, 5 Jul 2014 20:37:06 -0500
Subject: [Swift-devel] New parsing tool for swift.properties
In-Reply-To: <1404584421.393.5.camel@echo>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo> <53B83FC4.90408@anl.gov>
<1404584421.393.5.camel@echo>
Message-ID:
I already replied to the other email but I'd strongly argue for a solution
that avoids imposing any additional steps, intermediate files, or
dependencies in running a Swift/T program. It's difficult enough to
compile and run a Swift/T application already.
On Sat, Jul 5, 2014 at 1:20 PM, Mihael Hategan wrote:
> Maybe. I have no idea how the /K configuration structure makes sense
> in /T. Tim, Justin?
>
> Mihael
>
> On Sat, 2014-07-05 at 13:11 -0500, Michael Wilde wrote:
> > was: Re: [Swift-devel] changes
> >
> > I think this tool (Typesafe config) looks promising; I would try it.
> >
> > Once you have a property parser in Swift/K, that can be readily turned
> > into a standalone Java command to run for Swift/T, if/when needed, which
> > can emit Tcl or whatever other flat propoerty format is needed.
> >
> > Sound reasonable?
> >
> > - Mike
> >
> >
> > On 7/5/14, 1:03 PM, Mihael Hategan wrote:
> > > On Sat, 2014-07-05 at 09:34 -0500, Michael Wilde wrote:
> > >> This looks very good, deals with a lot of parsing issues, and is
> > >> licensed under Apache 2 (same as Swift).
> > >>
> > >> But is it Java-only? If so, then down the road, for Swift/T with
> > >> Coaster C client, just parse options using a Java app perhaps?
> > > It's Java only. I don't know. I guess writing one parser is better than
> > > writing two parsers.
> > >
> > > The only other reasonable choice is XML unless somebody knows something
> > > else.
> > >
> > > Mihael
> > >
> > >
> >
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Sat Jul 5 21:16:48 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sat, 5 Jul 2014 19:16:48 -0700
Subject: [Swift-devel] changes
In-Reply-To:
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
Message-ID: <1404613008.8643.20.camel@echo>
On Sat, 2014-07-05 at 20:28 -0500, Tim Armstrong wrote:
> Trying to run a java parser from the C client sounds like an additional
> source of deployment/configuration hassles. Is there a particular reason
> why it needs to be the client though rather than the Coaster service that
> handles the configuration?
It's not just coasters. This applies to all of Swift/K, and includes all
the options, site and app definitions. Coasters are a small part, and
stand-alone coasters where the service would have a single static
configuration is an even smaller part.
>
> To me it would make the most sense to either choose a simple constrained
> format that its feasible to write a custom parser for, or to just use JSON
> or XML where there are lots of existing parsers.
Yeah, and there's the problem.
We have a new config mechanism that Mike and David developed. It's very
nice to the eyes. It's supposed to be the next configuration format for
swift. It's almost JSON, except for a few syntactic sugary things.
JSON's habit of quoting every key is noisy, probably more so than XML.
I'm taking that format and using a pre-existing library to do the
parsing and skipping intermediate XML files.
We can argue a few points:
- do we really want this new format given that it's non-standard and
there is some unclear as of yet need to have something maybe similar in
Swift/T?
- if we do, do we want it to be implemented as a custom perl translator
to XML and then a Java XML parser, or a Java direct parser?
- do Swift/T and K really need to have the same configuration format
when they differ in so many other respects?
Mihael
From tim.g.armstrong at gmail.com Sun Jul 6 15:01:07 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Sun, 6 Jul 2014 15:01:07 -0500
Subject: [Swift-devel] changes
In-Reply-To: <1404613008.8643.20.camel@echo>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
<1404613008.8643.20.camel@echo>
Message-ID:
I think the goal would be to allow the same sites files to be used for
Swift/K and Swift/T+coasters, right? Currently Swift/T is mainly configured
through environment variables.
It seems like it might make the most sense architecturally in Swift/T for
the Coaster service to load the config file directly, given that the config
file will probably just be slurped up and sent to the service anyway. If
this was possible it might avoid the issue entirely.
The main issue with using a parser that accepts a superset of the official
config file syntax is that config files with syntax that "officially" is
invalid will probably crop up. In practice this might be a relatively
small problem but I can see users being confused by it.
I do think a custom format would need more documentation than is currently
in the user guide - there's no mention of how whitespace is handled, for
example.
My two cents is that just parsing it directly from Java will save effort in
the long run and improve the user experience with better error reporting
etc. Having multiple stages of processing also makes it harder to ensure
that special characters, whitespace, etc is correctly preserved, and makes
it hard to e.g. provide line numbers in error messages if desired.
- Tim
On Sat, Jul 5, 2014 at 9:16 PM, Mihael Hategan wrote:
> On Sat, 2014-07-05 at 20:28 -0500, Tim Armstrong wrote:
> > Trying to run a java parser from the C client sounds like an additional
> > source of deployment/configuration hassles. Is there a particular reason
> > why it needs to be the client though rather than the Coaster service that
> > handles the configuration?
>
> It's not just coasters. This applies to all of Swift/K, and includes all
> the options, site and app definitions. Coasters are a small part, and
> stand-alone coasters where the service would have a single static
> configuration is an even smaller part.
>
> >
> > To me it would make the most sense to either choose a simple constrained
> > format that its feasible to write a custom parser for, or to just use
> JSON
> > or XML where there are lots of existing parsers.
>
> Yeah, and there's the problem.
> We have a new config mechanism that Mike and David developed. It's very
> nice to the eyes. It's supposed to be the next configuration format for
> swift. It's almost JSON, except for a few syntactic sugary things.
> JSON's habit of quoting every key is noisy, probably more so than XML.
>
> I'm taking that format and using a pre-existing library to do the
> parsing and skipping intermediate XML files.
>
> We can argue a few points:
> - do we really want this new format given that it's non-standard and
> there is some unclear as of yet need to have something maybe similar in
> Swift/T?
> - if we do, do we want it to be implemented as a custom perl translator
> to XML and then a Java XML parser, or a Java direct parser?
> - do Swift/T and K really need to have the same configuration format
> when they differ in so many other respects?
>
> Mihael
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Sun Jul 6 15:55:55 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sun, 6 Jul 2014 13:55:55 -0700
Subject: [Swift-devel] changes
In-Reply-To:
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
<1404613008.8643.20.camel@echo>
Message-ID: <1404680155.10983.19.camel@echo>
On Sun, 2014-07-06 at 15:01 -0500, Tim Armstrong wrote:
> I think the goal would be to allow the same sites files to be used for
> Swift/K and Swift/T+coasters, right? Currently Swift/T is mainly configured
> through environment variables.
>
> It seems like it might make the most sense architecturally in Swift/T for
> the Coaster service to load the config file directly, given that the config
> file will probably just be slurped up and sent to the service anyway. If
> this was possible it might avoid the issue entirely.
Currently the configuration comes from the client. There is a plan to
have a version of the coaster service where the service is started with
an immutable configuration. This is a relatively different issue. It
does not need a hierarchical configuration format, and it will most
likely be a flat properties file. So if that addresses the problem
from /T's perspective, then things should be fine.
>
> The main issue with using a parser that accepts a superset of the official
> config file syntax is that config files with syntax that "officially" is
> invalid will probably crop up. In practice this might be a relatively
> small problem but I can see users being confused by it.
The choice is not that. The choice at the moment is between an in-house
format that isn't well documented, does not specify how special
characters are handled (or expressed), does not escape much (try & in an
environment variable) etc. and a variant of a standard that isn't
completely in-house and that handles the corner cases. Well, that or
back to XML.
>
> I do think a custom format would need more documentation than is currently
> in the user guide - there's no mention of how whitespace is handled, for
> example.
I think everybody agrees that the current documentation isn't quite
right. Fixing that would be part of the change.
>
> My two cents is that just parsing it directly from Java will save effort in
> the long run and improve the user experience with better error reporting
> etc. Having multiple stages of processing also makes it harder to ensure
> that special characters, whitespace, etc is correctly preserved, and makes
> it hard to e.g. provide line numbers in error messages if desired.
Right. Hence my choice of doing this. An additional difficulty was that
it seemed hard to convince the current translator to accommodate a
more-than-one-nesting-level hierarchical structure.
There are more benefits, in that there would now be a unified validation
place that checks all configuration values and fails early. This was
previously either missing (for tc.data) or scattered in different places
(providers for sites.xml, the perl code for the sites translator, custom
java code for the other swift properties).
Mihael
From tim.g.armstrong at gmail.com Sun Jul 6 17:20:45 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Sun, 6 Jul 2014 17:20:45 -0500
Subject: [Swift-devel] changes
In-Reply-To: <1404680155.10983.19.camel@echo>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
<1404613008.8643.20.camel@echo>
<1404680155.10983.19.camel@echo>
Message-ID:
> Currently the configuration comes from the client. There is a plan to
> have a version of the coaster service where the service is started with
> an immutable configuration. This is a relatively different issue. It
> does not need a hierarchical configuration format, and it will most
> likely be a flat properties file. So if that addresses the problem
> from /T's perspective, then things should be fine.
I don't think I understand well enough what the pros/cons are here. With
the static configuration, we'd lose the ability for the client to
dynamically add new sites or modify other settings - is that the only
difference? I understand that it maybe buys you some flexibility in that
you can stand up a coasters service ahead of time, or reuse the same
service for Swift runs with different configurations. I don't know if those
are likely use cases for Swift/T. Are there any Coasters settings where
there's some other reason the client needs to set it?
- Tim
On Sun, Jul 6, 2014 at 3:55 PM, Mihael Hategan wrote:
> On Sun, 2014-07-06 at 15:01 -0500, Tim Armstrong wrote:
> > I think the goal would be to allow the same sites files to be used for
> > Swift/K and Swift/T+coasters, right? Currently Swift/T is mainly
> configured
> > through environment variables.
> >
> > It seems like it might make the most sense architecturally in Swift/T for
> > the Coaster service to load the config file directly, given that the
> config
> > file will probably just be slurped up and sent to the service anyway. If
> > this was possible it might avoid the issue entirely.
>
> Currently the configuration comes from the client. There is a plan to
> have a version of the coaster service where the service is started with
> an immutable configuration. This is a relatively different issue. It
> does not need a hierarchical configuration format, and it will most
> likely be a flat properties file. So if that addresses the problem
> from /T's perspective, then things should be fine.
>
> >
> > The main issue with using a parser that accepts a superset of the
> official
> > config file syntax is that config files with syntax that "officially" is
> > invalid will probably crop up. In practice this might be a relatively
> > small problem but I can see users being confused by it.
>
> The choice is not that. The choice at the moment is between an in-house
> format that isn't well documented, does not specify how special
> characters are handled (or expressed), does not escape much (try & in an
> environment variable) etc. and a variant of a standard that isn't
> completely in-house and that handles the corner cases. Well, that or
> back to XML.
>
> >
> > I do think a custom format would need more documentation than is
> currently
> > in the user guide - there's no mention of how whitespace is handled, for
> > example.
>
> I think everybody agrees that the current documentation isn't quite
> right. Fixing that would be part of the change.
>
> >
> > My two cents is that just parsing it directly from Java will save effort
> in
> > the long run and improve the user experience with better error reporting
> > etc. Having multiple stages of processing also makes it harder to ensure
> > that special characters, whitespace, etc is correctly preserved, and
> makes
> > it hard to e.g. provide line numbers in error messages if desired.
>
> Right. Hence my choice of doing this. An additional difficulty was that
> it seemed hard to convince the current translator to accommodate a
> more-than-one-nesting-level hierarchical structure.
>
> There are more benefits, in that there would now be a unified validation
> place that checks all configuration values and fails early. This was
> previously either missing (for tc.data) or scattered in different places
> (providers for sites.xml, the perl code for the sites translator, custom
> java code for the other swift properties).
>
> Mihael
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Sun Jul 6 17:47:16 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sun, 6 Jul 2014 15:47:16 -0700
Subject: [Swift-devel] changes
In-Reply-To:
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
<1404613008.8643.20.camel@echo>
<1404680155.10983.19.camel@echo>
Message-ID: <1404686836.12621.15.camel@echo>
On Sun, 2014-07-06 at 17:20 -0500, Tim Armstrong wrote:
> > Currently the configuration comes from the client. There is a plan to
> > have a version of the coaster service where the service is started with
> > an immutable configuration. This is a relatively different issue. It
> > does not need a hierarchical configuration format, and it will most
> > likely be a flat properties file. So if that addresses the problem
> > from /T's perspective, then things should be fine.
>
> I don't think I understand well enough what the pros/cons are here. With
> the static configuration, we'd lose the ability for the client to
> dynamically add new sites
Adding a site, in the sense of a new machine, won't affect services on
other machines. So this would be a separate issue. Think of coasters as
a faster GRAM. There is no provision for automatically managing a pool
of clusters in there.
> or modify other settings
Right. You would lose the ability to modify settings at will from the
client.
> - is that the only
> difference? I understand that it maybe buys you some flexibility in that
> you can stand up a coasters service ahead of time, or reuse the same
> service for Swift runs with different configurations. I don't know if those
> are likely use cases for Swift/T.
I think standing up services ahead of time is the only possibility right
now, since the C client does not automatically start services.
> Are there any Coasters settings where
> there's some other reason the client needs to set it?
Not that I can think of.
To summarize why I replied previously. You mentioned the coaster service
parsing its configuration. I'm stating that it's impossible to get both
flexibility and service-side parsing.
If the service is to load the configuration, then he client only
controls configuration to the extent that it could make a choices
between a number of pre-set configurations.
So if the service loads the configuration, that is less flexible than
when the client is able to tweak all the knobs. And for the client to be
able to do that based on some user specification, it needs to be able to
read that user specification.
The bottom line is either server side parsing with the client having
limited control or client side parsing and that needs the client to be
able parse.
Mihael
From tim.g.armstrong at gmail.com Sun Jul 6 20:35:43 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Sun, 6 Jul 2014 20:35:43 -0500
Subject: [Swift-devel] changes
In-Reply-To: <1404686836.12621.15.camel@echo>
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
<1404613008.8643.20.camel@echo>
<1404680155.10983.19.camel@echo>
<1404686836.12621.15.camel@echo>
Message-ID:
Right, I get that it's more flexible: I was mainly trying to understand how
important that flexibility was in practice.
The main use case I think would be to start a Coaster service at the same
time as the Swift/T run and tear it down once the run was done: e.g. with a
launch script that starts both the Coaster service and the Swift run. It
sounds like starting a Coaster service pointed at a configuration file
would achieve exactly the same thing as starting a Coaster service then
configuring it via the client in this scenario. I don't know the config
mechanism and settings well enough to be confident about that assessment is
my problem.
Anyway, this is fairly academic at the moment :)
- Tim
On Sun, Jul 6, 2014 at 5:47 PM, Mihael Hategan wrote:
> On Sun, 2014-07-06 at 17:20 -0500, Tim Armstrong wrote:
> > > Currently the configuration comes from the client. There is a plan to
> > > have a version of the coaster service where the service is started with
> > > an immutable configuration. This is a relatively different issue. It
> > > does not need a hierarchical configuration format, and it will most
> > > likely be a flat properties file. So if that addresses the problem
> > > from /T's perspective, then things should be fine.
> >
> > I don't think I understand well enough what the pros/cons are here. With
> > the static configuration, we'd lose the ability for the client to
> > dynamically add new sites
>
> Adding a site, in the sense of a new machine, won't affect services on
> other machines. So this would be a separate issue. Think of coasters as
> a faster GRAM. There is no provision for automatically managing a pool
> of clusters in there.
>
> > or modify other settings
>
> Right. You would lose the ability to modify settings at will from the
> client.
>
> > - is that the only
> > difference? I understand that it maybe buys you some flexibility in that
> > you can stand up a coasters service ahead of time, or reuse the same
> > service for Swift runs with different configurations. I don't know if
> those
> > are likely use cases for Swift/T.
>
> I think standing up services ahead of time is the only possibility right
> now, since the C client does not automatically start services.
>
> > Are there any Coasters settings where
> > there's some other reason the client needs to set it?
>
> Not that I can think of.
>
> To summarize why I replied previously. You mentioned the coaster service
> parsing its configuration. I'm stating that it's impossible to get both
> flexibility and service-side parsing.
>
> If the service is to load the configuration, then he client only
> controls configuration to the extent that it could make a choices
> between a number of pre-set configurations.
>
> So if the service loads the configuration, that is less flexible than
> when the client is able to tweak all the knobs. And for the client to be
> able to do that based on some user specification, it needs to be able to
> read that user specification.
>
> The bottom line is either server side parsing with the client having
> limited control or client side parsing and that needs the client to be
> able parse.
>
> Mihael
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Sun Jul 6 20:49:13 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sun, 6 Jul 2014 18:49:13 -0700
Subject: [Swift-devel] changes
In-Reply-To:
References: <1404461246.11929.27.camel@echo>
<53B736E4.7050202@anl.gov>
<1404539882.26546.8.camel@echo> <53B80CF9.5000700@anl.gov>
<1404583410.32736.2.camel@echo>
<1404613008.8643.20.camel@echo>
<1404680155.10983.19.camel@echo>
<1404686836.12621.15.camel@echo>
Message-ID: <1404697753.18341.8.camel@echo>
On Sun, 2014-07-06 at 20:35 -0500, Tim Armstrong wrote:
> Right, I get that it's more flexible: I was mainly trying to understand how
> important that flexibility was in practice.
>
> The main use case I think would be to start a Coaster service at the same
> time as the Swift/T run and tear it down once the run was done: e.g. with a
> launch script that starts both the Coaster service and the Swift run. It
> sounds like starting a Coaster service pointed at a configuration file
> would achieve exactly the same thing as starting a Coaster service then
> configuring it via the client in this scenario.
Right. If you don't need multiple configurations per service (which is
only a recent practical development), and if you control the starting of
the service, then it's very reasonable to have the settings loaded by
the service.
But I must point out that this is still a somewhat separate issue. Swift
aggregates configurations for multiple such services. It is not (and
should not) be the duty of a service to understand the entire swift
configuration mechanism and extract the relevant pieces out of it,
though given that the service is Java, some custom launcher could do
something like that while re-using whatever swift uses for
configuration.
> I don't know the config
> mechanism and settings well enough to be confident about that assessment is
> my problem.
I think there are many possibilities here and that makes it a bit murky.
>
> Anyway, this is fairly academic at the moment :)
Yeah. I don't see this issue as a blocker. Let's talk details when we
have some tangible goal.
Mihael
From hategan at mcs.anl.gov Wed Jul 9 15:16:01 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Wed, 9 Jul 2014 13:16:01 -0700
Subject: [Swift-devel] new config
Message-ID: <1404936961.26670.15.camel@echo>
Hi,
I committed the new config code. Since it's a pretty big change, it
might take some testing to get it ironed out and some time to get used
to. Particularly, the tests have not been updated. Yadu, when you have
some time, let's work on updating our testing tools.
A bit of an overview:
- it's a JSON-like format, with optional key quoting, optional comma
between object keys (if there is a new line), optional "=" before a "{"
and ":" and "=" mean the same thing. So this is valid:
site.local {
execution {
type: "ssh"
URL: "localhost"
}
}
as is
site.local.execution.type = "ssh"
site.local.execution.URL = "localhost"
However, in order to reduce confusion, we should encourage only the
former choice.
- Most properties that were in swift.properties had their names changed
from a dot separator to camelCase. It was distasteful to see a file
where site options were camelCase and other options
used.dots.as.separators.
- Some options have changed a bit more than that. For example,
sitedir.keep is now keepSiteDir.
- I removed clustering (it wasn't used and is superseded by coasters)
- I also removed the graph generation option. It wasn't being used much
(outside of I2U2) and I would prefer that such tools be outside of the
run-time code and in the log analysis tools.
- Everything is validated. Unrecognized options, or invalid values will
produce an error. The "schema" used for validation is in
resources/swift.conf.schema.
- The preferred way of mixing configurations is through includes.
- There is a conversion tool, swift-convert-config. You can give it a
sites.xml, tc.data, and swift.properties, and it will print out a new
config from there.
- Somewhat unrelated, but wrapper/provider staging are now selectable
per site. You would say something like site.local { staging:
"provider" }
- There is also a swift-config-info tool. This is similar to David's
-listconfig option. It can list all available configuration properties
and also print documentation on selected options. For somebody who is
working on the command line doing stuff, it may be more convenient than
switching to a web browser to look up the configuration documentation.
- I still need to finish all property descriptions and update the
documentation.
Mihael
From wilde at anl.gov Wed Jul 9 15:18:55 2014
From: wilde at anl.gov (Michael Wilde)
Date: Wed, 9 Jul 2014 15:18:55 -0500
Subject: [Swift-devel] new config
In-Reply-To: <1404936961.26670.15.camel@echo>
References: <1404936961.26670.15.camel@echo>
Message-ID: <53BDA3AF.9000504@anl.gov>
Nice step forward!
Do property values need to be quoted? If so, can that be made optional?
- Mike
On 7/9/14, 3:16 PM, Mihael Hategan wrote:
> Hi,
>
> I committed the new config code. Since it's a pretty big change, it
> might take some testing to get it ironed out and some time to get used
> to. Particularly, the tests have not been updated. Yadu, when you have
> some time, let's work on updating our testing tools.
>
> A bit of an overview:
> - it's a JSON-like format, with optional key quoting, optional comma
> between object keys (if there is a new line), optional "=" before a "{"
> and ":" and "=" mean the same thing. So this is valid:
> site.local {
> execution {
> type: "ssh"
> URL: "localhost"
> }
> }
> as is
> site.local.execution.type = "ssh"
> site.local.execution.URL = "localhost"
>
> However, in order to reduce confusion, we should encourage only the
> former choice.
>
> - Most properties that were in swift.properties had their names changed
> from a dot separator to camelCase. It was distasteful to see a file
> where site options were camelCase and other options
> used.dots.as.separators.
>
> - Some options have changed a bit more than that. For example,
> sitedir.keep is now keepSiteDir.
>
> - I removed clustering (it wasn't used and is superseded by coasters)
>
> - I also removed the graph generation option. It wasn't being used much
> (outside of I2U2) and I would prefer that such tools be outside of the
> run-time code and in the log analysis tools.
>
> - Everything is validated. Unrecognized options, or invalid values will
> produce an error. The "schema" used for validation is in
> resources/swift.conf.schema.
>
> - The preferred way of mixing configurations is through includes.
>
> - There is a conversion tool, swift-convert-config. You can give it a
> sites.xml, tc.data, and swift.properties, and it will print out a new
> config from there.
>
> - Somewhat unrelated, but wrapper/provider staging are now selectable
> per site. You would say something like site.local { staging:
> "provider" }
>
> - There is also a swift-config-info tool. This is similar to David's
> -listconfig option. It can list all available configuration properties
> and also print documentation on selected options. For somebody who is
> working on the command line doing stuff, it may be more convenient than
> switching to a web browser to look up the configuration documentation.
>
> - I still need to finish all property descriptions and update the
> documentation.
>
> Mihael
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From hategan at mcs.anl.gov Wed Jul 9 15:23:37 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Wed, 9 Jul 2014 13:23:37 -0700
Subject: [Swift-devel] new config
In-Reply-To: <53BDA3AF.9000504@anl.gov>
References: <1404936961.26670.15.camel@echo> <53BDA3AF.9000504@anl.gov>
Message-ID: <1404937417.26906.2.camel@echo>
On Wed, 2014-07-09 at 15:18 -0500, Michael Wilde wrote:
> Nice step forward!
>
> Do property values need to be quoted?
Not unless they contain special characters, and they must not be quoted
for numeric values and booleans (or lists - notably sites = ["site1",
"site2", ..etc]). However, I would encourage quoting strings. It makes
it more obvious that it's a string rather than some special construct.
Mihael
From iraicu at cs.iit.edu Thu Jul 10 21:10:27 2014
From: iraicu at cs.iit.edu (Ioan Raicu)
Date: Thu, 10 Jul 2014 21:10:27 -0500
Subject: [Swift-devel] CFP: 7th IEEE Workshop on Many-Task Computing on
Clouds, Grids, and Supercomputers (MTAGS) 2014 @ IEEE/ACM SC14
Message-ID: <53BF4793.7030304@cs.iit.edu>
Call for Papers
---------------------------------------------------------------------------------------
The 7th Workshop on Many-Task Computing on Clouds, Grids, and Supercomputers (MTAGS) 2014
http://datasys.cs.iit.edu/events/MTAGS14/
---------------------------------------------------------------------------------------
November 16th, 2014
New Orleans, Louisiana, USA
Co-located with with IEEE/ACM International Conference for
High Performance Computing, Networking, Storage and Analysis (SC14)
In cooperation with ACM SIGHPC
=======================================================================================
The 7th workshop on Many-Task Computing on Clouds, Grids, and Supercomputers (MTAGS) will provide the scientific community a dedicated forum for presenting new research, development, and deployment efforts of large-scale many-task computing (MTC) applications on large scale clusters, Grids, Supercomputers, and Cloud Computing infrastructure. MTC, the theme of the workshop encompasses loosely coupled applications, which are generally composed of many tasks (both independent and dependent tasks) to achieve some larger application goal. This workshop will cover challenges that can hamper efficiency and utilization in running applications on large-scale systems, such as local resource manager scalability and granularity, efficient utilization of raw hardware, parallel file system contention and scalability, data management, I/O management, reliability at scale, and application scalability. We welcome paper submissions on all theoretical, simulations, and systems topics related to MTC, but we give special consideration to papers addressing petascale to exascale challenges. Papers will be peer-reviewed, and accepted papers will be published in the workshop proceedings as part of the ACM digital library (pending approval). The workshop will be co-located with the IEEE/ACM Supercomputing 2014 Conference in New Orleans on November 17th, 2014. For more information, please see http://datasys.cs.iit.edu/events/MTAGS14/.
For more information on past workshops, please see MTAGS13, MTAGS12, MTAGS11, MTAGS10, MTAGS09, and MTAGS08. We also ran a Special Issue on Many-Task Computing in the IEEE Transactions on Parallel and Distributed Systems (TPDS) which appeared in June 2011; the proceedings can be found online at http://www.computer.org/portal/web/csdl/abs/trans/td/2011/06/ttd201106toc.htm. We, the workshop organizers, also published a highly relevant paper that defines Many-Task Computing which was published in MTAGS08, titled ?Many-Task Computing for Grids and Supercomputers?; we encourage potential authors to read this paper, and to clearly articulate in your paper submissions how your papers are related to Many-Task Computing.
Topics
---------------------------------------------------------------------------------------
We invite the submission of original work that is related to the topics below. The papers should be 6 pages, including all figures and references. We aim to cover topics related to Many-Task Computing on each of the three major distributed systems paradigms, Cloud Computing, Grid Computing and Supercomputing. Topics of interest include:
* Compute Resource Management
* Scheduling
* Job execution frameworks
* Local resource manager extensions
* Performance evaluation of resource managers in use on large scale systems
* Dynamic resource provisioning
* Techniques to manage many-core resources and/or GPUs
* Challenges and opportunities in running many-task workloads on HPC systems
* Challenges and opportunities in running many-task workloads on Cloud Computing infrastructure
* Storage architectures and implementations
* Distributed file systems
* Parallel file systems
* Distributed meta-data management
* Content distribution systems for large data
* Data caching frameworks and techniques
* Data management within and across data centers
* Data-aware scheduling
* Data-intensive computing applications
* Eventual-consistency storage usage and management
* Programming models and tools
* Map-reduce and its generalizations
* Many-task computing middleware and applications
* Parallel programming frameworks
* Ensemble MPI techniques and frameworks
* Service-oriented science applications
* Large-Scale Workflow Systems
* Workflow system performance and scalability analysis
* Scalability of workflow systems
* Workflow infrastructure and e-Science middleware
* Programming Paradigms and Models
* Large-Scale Many-Task Applications
* High-throughput computing (HTC) applications
* Data-intensive applications
* Quasi-supercomputing applications, deployments, and experiences
* Performance Evaluation
* Performance evaluation
* Real systems
* Simulations
* Reliability of large systems
Paper Submission and Publication
---------------------------------------------------------------------------------------
Authors are invited to submit papers with unpublished, original work of not more than 6 pages of double column text using single spaced 10 point size on 8.5 x 11 inch pages, as per ACM 8.5 x 11 manuscript guidelines; document templates can be found at http://www.acm.org/sigs/publications/proceedings-templates. The final 6 page papers in PDF format must be submitted online at https://cmt.research.microsoft.com/MTAGS2014/ before the deadline of August 25th, 2014 at 11:59PM PST (note that an abstract must be submitted 1 week prior to the deadline, on August 18th, 2014). Papers will be peer-reviewed, and accepted papers will be published in the workshop proceedings as part of the ACM digital library (in cooperation with SIGHPC). Notifications of the paper decisions will be sent out by September 22nd, 2014. Accepted workshop papers will be eligible for additional post-conference publication as journal articles in the IEEE Transaction on Cloud Computing, Special Issue on Many-Task Computing in the Cloud (papers will be due in February 2015, file:///C:/Users/iraicu/Documents/Webs/DataSys/events/TCC-MTC15/index.html). Submission implies the willingness of at least one of the authors to register and present the paper. For more information, please see http://datasys.cs.iit.edu/events/MTAGS14/.
Important Dates
---------------------------------------------------------------------------------------
* Abstract Due: August 18th, 2014
* Papers Due: August 25th, 2014
* Notification of Acceptance: September 22nd, 2014
* Camera Ready Papers Due: October 6th, 2014
* Workshop Date: November 16th, 2014
Committee Members
---------------------------------------------------------------------------------------
Workshop Chairs
* Ioan Raicu, Illinois Institute of Technology & Argonne National Laboratory
* Justin Wozniak, University of Chicago & Argonne National Laboratory
* Ian Foster, University of Chicago & Argonne National Laboratory
* Yong Zhao, University of Electronic Science and Technology of China
Steering Committee
* David Abramson, Monash University, Australia
* Jack Dongarra, University of Tennessee, USA
* Geoffrey Fox, Indiana University, USA
* Manish Parashar, Rutgers University, USA
* Marc Snir, University of Illinois at Urbana Champaign, USA
* Xian-He Sun, Illinois Institute of Technology, USA
* Weimin Zheng, Tsinghua University, China
Technical Committee
* Hasan Abbasi, Oak Ridge National Labs, USA
* Tim Armstrong, University of Chicago, USA
* Roger Barga, Microsoft, USA
* Rajkumar Buyya University of Melbourne, Australia
* Kyle Chard, University of Chicago, USA
* Evangelinos Constantinos, Massachusetts Institute of Technology, USA
* Catalin Dumitrescu, Fermi National Labs, USA
* Haryadi Gunawi, University of Chicago, USA
* Indranil Gupta, University of Illinois at Urbana Champaign, USA
* Alexandru Iosup, Delft University of Technology, Netherlands
* Florin Isaila, Universidad Carlos III de Madrid, Spain & Argonne National Laboratory, USA
* Kamil Iskra, Argonne National Laboratory, USA
* Daniel S. Katz, University of Chicago, USA
* Jik-Soo Kim, Kristi, Korea
* Scott A. Klasky, Oak Ridge National Labs, USA
* Mike Lang, Los Alamos National Laboratory, USA
* Tonglin Li, Illinois Institute of Technology, USA
* Chris Moretti, Princeton University, USA
* David O'Hallaron, Carnegie Mellon University, USA
* Marlon Pierce, Indiana University, USA
* Judy Qiu, Indiana University, USA
* Lavanya Ramakrishnan, Lawrence Berkeley National Laboratory, USA
* Matei Ripeanu, University of British Columbia, Canada
* Wei Tang, Argonne National Laboratory, USA
* Edward Walker, Whitworth University, USA
* Ke Wang, Illinois Institute of Technology, USA
* Matthew Woitaszek, Walmart Labs, USA
* Rich Wolski, University of California, Santa Barbara, USA
* Zhifeng Yun, University of Houston, USA
* Ziming Zheng, University of Chicago, USA
--
=================================================================
Ioan Raicu, Ph.D.
Assistant Professor, Illinois Institute of Technology (IIT)
Guest Research Faculty, Argonne National Laboratory (ANL)
=================================================================
Data-Intensive Distributed Systems Laboratory, CS/IIT
Distributed Systems Laboratory, MCS/ANL
=================================================================
Editor: IEEE TCC, Springer Cluster, Springer JoCCASA
Chair: IEEE/ACM MTAGS, ACM ScienceCloud
=================================================================
Cel: 1-847-722-0876
Office: 1-312-567-5704
Email: iraicu at cs.iit.edu
Web: http://www.cs.iit.edu/~iraicu/
Web: http://datasys.cs.iit.edu/
LinkedIn: http://www.linkedin.com/in/ioanraicu
Google: http://scholar.google.com/citations?user=jE73HYAAAAAJ
=================================================================
=================================================================
From iraicu at cs.iit.edu Sat Jul 12 09:20:36 2014
From: iraicu at cs.iit.edu (Ioan Raicu)
Date: Sat, 12 Jul 2014 09:20:36 -0500
Subject: [Swift-devel] Call for Papers: IEEE Transactions on Cloud Computing
- Special Issue on Many-Task Computing in the Cloud
Message-ID: <53C14434.3050806@cs.iit.edu>
Call for Papers
---------------------------------------------------------------------------------------
IEEE Transaction on Cloud Computing
Special Issue on Many-Task Computing in the Cloud
http://datasys.cs.iit.edu/events/TCC-MTC15/
=======================================================================================
The Special Issue on Many-Task Computing (MTC) in the Cloud will provide the scientific community a dedicated forum, within the prestigious IEEE Transactions on Cloud Computing journal, for presenting new research, development, and deployment efforts of loosely coupled large scale applications on Cloud Computing infrastructure. MTC, the theme of this special issue, encompasses loosely coupled applications, which are generally composed of many tasks to achieve some larger application goal. This special issue will cover challenges that can hamper efficiency and utilization in running applications on large-scale systems, such as local resource manager scalability and granularity, efficient utilization of raw hardware, parallel file-system contention and scalability, data management, I/O management, reliability at scale, and application scalability. We welcome paper submissions in theoretical, simulations, and systems topics with special consideration to papers addressing the intersection of petascale/exascale challenges with large-scale cloud computing. We seek submission of papers that present new, original and innovative ideas for the "first" time in TCC (Transactions on Cloud Computing). That means, submission of "extended versions" of already published works (e.g., conference/workshop papers) is not encouraged unless they contain significant number of "new and original" ideas/contributions along with more than 49% brand "new" material.
For more information on past workshops and special issues on Many-Task Computing, see http://datasys.cs.iit.edu/events/MTAGS/index.html. We ran a Special Issue on Many-Task Computing in the IEEE Transactions on Parallel and Distributed Systems (TPDS) which appeared in June 2011; the proceedings can be found online at http://www.computer.org/portal/web/csdl/abs/trans/td/2011/06/ttd201106toc.htm. The special issue editors also published a highly relevant paper that defines Many-Task Computing which was published in the inaugural MTAGS08 workshop, titled "Many-Task Computing for Grids and Supercomputers"; we encourage potential authors to read this paper, and to clearly articulate in your paper submissions how your papers are related to Many-Task Computing.
For more information on this special issue, please see http://datasys.cs.iit.edu/events/TCC-MTC15/.
Topics
---------------------------------------------------------------------------------------
We seek submission of papers that present new, original and innovative ideas for the "first" time in TCC (Transactions on Cloud Computing). That means, submission of "extended versions" of already published works (e.g., conference/workshop papers) will only be encouraged if they contain significant number of "new and original" ideas/contributions along with more than 49% brand "new" material. TCC expects submissions to be complete in all respects including author names, affiliation, bios etc. Manuscript should be 14 double column pages (all regular paper page limits include references and author biographies). We aim to cover topics related to Many-Task Computing and Cloud Computing. Topics of interest include:
* Compute Resource Management
* Scheduling
* Job execution frameworks
* Local resource manager extensions
* Performance evaluation of resource managers in use on large scale systems
* Dynamic resource provisioning
* Techniques to manage many-core resources and/or GPUs
* Challenges and opportunities in running many-task workloads on Cloud Computing infrastructure
* Storage architectures and implementations
* Distributed file systems
* Parallel file systems
* Distributed meta-data management
* Content distribution systems for large data
* Data caching frameworks and techniques
* Data management within and across data centers
* Data-aware scheduling
* Data-intensive computing applications
* Eventual-consistency storage usage and management
* Programming models and tools
* Map-reduce and its generalizations
* Many-task computing middleware and applications
* Parallel programming frameworks
* Ensemble MPI techniques and frameworks
* Service-oriented science applications
* Large-Scale Workflow Systems
* Workflow system performance and scalability analysis
* Scalability of workflow systems
* Workflow infrastructure and e-Science middleware
* Programming Paradigms and Models
* Large-Scale Many-Task Applications
* High-throughput computing (HTC) applications
* Data-intensive applications
* Quasi-supercomputing applications, deployments, and experiences
* Performance Evaluation
* Performance evaluation
* Real systems
* Simulations
* Reliability of large systems
Paper Submission and Publication
---------------------------------------------------------------------------------------
Authors are invited to submit unpublished and original work to the IEEE Transactions on Cloud Computing (TCC), Special Issue on Many-Task Computing in the Cloud. If the paper is extended from an initial work, the submission must contain at least 50% new material that can be qualified as ?brand? new ideas and results. The paper must be in the IEEE TCC format, namely 14 double-column pages or 30 single-column pages (Note: All regular paper page limits include references and author biographies). Please note that the double-column format will translate more readily into the final publication format. A double-column page is defined as a 7.875??10.75? page with 10-point type, 12-point vertical spacing, and 0.5 inch margins. A single-column page is defined as an 8.5??11? page with 12-point type and 24-point vertical spacing, containing approximately 250 words. All of the margins should be one inch (top, bottom, right and left). These length limits are taking into account reasonably-sized figures and references. Papers must be submitted using the submission system: https://mc.manuscriptcentral.com/tcc-cs, by selecting the special issue option ?SI-MTC?. For more information, please see http://datasys.cs.iit.edu/events/TCC-MTC15/.
Important Dates
---------------------------------------------------------------------------------------
* Abstract Due: February 2nd, 2015
* Papers Due: February 9th, 2015
* First round decisions: May 18th, 2015
* Major Revisions if needed: July 18th, 2015
* Final decisions: August 18th, 2015
* Publication Date: Fall 2015 (may vary depending on production queue)
Guest Editors
---------------------------------------------------------------------------------------
* Ioan Raicu, Illinois Institute of Technology & Argonne National Laboratory
* Justin Wozniak, University of Chicago & Argonne National Laboratory
* Ian Foster, University of Chicago & Argonne National Laboratory
* Yong Zhao, University of Electronic Science and Technology of China
--
=================================================================
Ioan Raicu, Ph.D.
Assistant Professor, Illinois Institute of Technology (IIT)
Guest Research Faculty, Argonne National Laboratory (ANL)
=================================================================
Data-Intensive Distributed Systems Laboratory, CS/IIT
Distributed Systems Laboratory, MCS/ANL
=================================================================
Editor: IEEE TCC, Springer Cluster, Springer JoCCASA
Chair: IEEE/ACM MTAGS, ACM ScienceCloud
=================================================================
Cel: 1-847-722-0876
Office: 1-312-567-5704
Email: iraicu at cs.iit.edu
Web: http://www.cs.iit.edu/~iraicu/
Web: http://datasys.cs.iit.edu/
LinkedIn: http://www.linkedin.com/in/ioanraicu
Google: http://scholar.google.com/citations?user=jE73HYAAAAAJ
=================================================================
=================================================================
From wilde at anl.gov Sun Jul 13 11:01:15 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sun, 13 Jul 2014 11:01:15 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
Message-ID: <53C2AD4B.9030605@anl.gov>
I did a quick scan of the new User Guide text that describes the
proposed 0.96 config conventions.
I feel we need to re-examine the mechanism for backwards compatibility
with 0.95, and decide on a few things.
- default property file names have changed: swift.properties vs swift.config
- the search path implemented by 0.95 is (I suspect) not yet carried
forward here, and that needs discussion. My inclination is that it
should be.
- the include mechanism is new. I think its nice and likely is very
useful, but I wonder how it will interact with or supplement the
property search path.
Did that come from the underlying config classes used, or was that done
from scratch? We should also consider hos this works with respect to the
use of cpp in stc, if we see ourselves heading to the use of stc as a
universal front end for the Swift toolchain.
- as we discussed before, but never resolved - we should decide if the
documented/encouraged format will have colon separators and quoted
string values. I prefer the visually simpler format without either, and
I think 0.95 also allows an optional "=" separator as in standard
properties files. ( http://en.wikipedia.org/wiki/.properties is a nice
summary, and says " Several formats are possible for each line,
including key=value, key = value, key:value, and key value.")
I think we can work all these issues out as we go. I'm eager to test
trunk in its current state before we address any of the issues above.
Lets concentrate first on manual testing and on getting the property
names stabilized and the more important semantic changes.
Also, we need to work out issues in application location specifications
that were started but not yet fully developed in the 0.95 effort. David
and I discussed these, and we need to capture and post the
recommendations that were still in progress for this.
- Mike
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Sun Jul 13 13:01:19 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sun, 13 Jul 2014 11:01:19 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <53C2AD4B.9030605@anl.gov>
References: <53C2AD4B.9030605@anl.gov>
Message-ID: <1405274479.16177.13.camel@echo>
On Sun, 2014-07-13 at 11:01 -0500, Michael Wilde wrote:
> - default property file names have changed: swift.properties vs swift.config
On purpose, to avoid left-overs from being confusing.
>
> - the search path implemented by 0.95 is (I suspect) not yet carried
> forward here, and that needs discussion. My inclination is that it
> should be.
>
> - the include mechanism is new. I think its nice and likely is very
> useful, but I wonder how it will interact with or supplement the
> property search path.
We discussed this a few days ago. We had repeated issues with magically
loaded files from strange locations that the users took a long time to
find and fix. The solution that I saw in 0.95 was even more search
locations, which I think was not right.
So the philosophy in trunk is "either it stares at you or it isn't
there". And includes do this in a way that doesn't sacrifice
convenience.
> Did that come from the underlying config classes used, or was that done
> from scratch? We should also consider hos this works with respect to the
> use of cpp in stc, if we see ourselves heading to the use of stc as a
> universal front end for the Swift toolchain.
>
> - as we discussed before, but never resolved - we should decide if the
> documented/encouraged format will have colon separators and quoted
> string values.
You need to quote values that have special characters, such as "-" or
spaces, etc. Having to think about whether a particular string or not
does contain "special characters" to see if you are going to write
quotes or not is an effort that I do not think we should push the users
into. But it's a choice.
> I prefer the visually simpler format without either, and
> I think 0.95 also allows an optional "=" separator as in standard
> properties files. ( http://en.wikipedia.org/wiki/.properties is a nice
> summary, and says " Several formats are possible for each line,
> including key=value, key = value, key:value, and key value.")
Give it some time :)
You might like it. I know it's not exactly the 0.95 config. It's not a
perfect world.
>
> I think we can work all these issues out as we go. I'm eager to test
> trunk in its current state before we address any of the issues above.
> Lets concentrate first on manual testing and on getting the property
> names stabilized and the more important semantic changes.
Right.
>
> Also, we need to work out issues in application location specifications
> that were started but not yet fully developed in the 0.95 effort. David
> and I discussed these, and we need to capture and post the
> recommendations that were still in progress for this.
Yes, please! I really wished I had seen a discussion on the 0.95 config
before it went into code.
Mihael
From wilde at anl.gov Sun Jul 13 17:03:03 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sun, 13 Jul 2014 17:03:03 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405274479.16177.13.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
Message-ID: <53C30217.20501@anl.gov>
On 7/13/14, 1:01 PM, Mihael Hategan wrote:
>> - the include mechanism is new. I think its nice and likely is very
>> >useful, but I wonder how it will interact with or supplement the
>> >property search path.
> We discussed this a few days ago. We had repeated issues with magically
> loaded files from strange locations that the users took a long time to
> find and fix. The solution that I saw in 0.95 was even more search
> locations, which I think was not right.
>
> So the philosophy in trunk is "either it stares at you or it isn't
> there". And includes do this in a way that doesn't sacrifice
> convenience.
>
I disagree with this. The properties search path in 0.95 was carefully
thought out, and based on a lot of experience with users, even it that
discussion did not take place on the list.
Unfortunately the trunk commits over-wrote the 0.95 documentation in the
trunk userguide, but the search path was like this:
Location of swift.properties
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Swift searches for swift.properties files in multiple locations:
1. The etc/swift.properties file included with the Swift distribution.
2. $SWIFT_SITE_CONF/swift.properties - used for defining site templates.
3. $HOME/.swift/swift.properties
4. swift.properties in your current directory.
5. Any property file you point to with the command line argument
"-properties
"
Settings get read in this order. Definitions in the later files will
override
any previous definitions. For example, if you have execution.retries=10 in
$HOME/.swift/swift.properties, and execution.retries=0 in the
swift.properties
in your current directory, execution.retries will be set to 0.
I thought this search path notion was logical, useful, and reflected the
needs of users and site admins. It was a refinement of what existed in
Swift going back many releases.
In 0.95 it was tied to the use of run directories (which I hope has not
been removed from trunk!).
I propose that we re-institute this search path in trunk.
- Mike
From tim.g.armstrong at gmail.com Sun Jul 13 17:05:07 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Sun, 13 Jul 2014 17:05:07 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405274479.16177.13.camel@echo>
References: <53C2AD4B.9030605@anl.gov>
<1405274479.16177.13.camel@echo>
Message-ID:
FYI I don't think we ever were set on having CPP as part of stc by default.
There are reasons not to (aside from the usual debates about misuse of
macros, it means that you're limited in what you can do syntactically, for
example multiline strings don't work properly).
It's still enabled by default but it's not actually needed. I think we
actually made a preliminary decision to move away form it:
https://code.google.com/p/exm-issues/issues/detail?id=267.
- Tim
On Sun, Jul 13, 2014 at 1:01 PM, Mihael Hategan wrote:
> On Sun, 2014-07-13 at 11:01 -0500, Michael Wilde wrote:
> > - default property file names have changed: swift.properties vs
> swift.config
>
> On purpose, to avoid left-overs from being confusing.
>
> >
> > - the search path implemented by 0.95 is (I suspect) not yet carried
> > forward here, and that needs discussion. My inclination is that it
> > should be.
> >
> > - the include mechanism is new. I think its nice and likely is very
> > useful, but I wonder how it will interact with or supplement the
> > property search path.
>
> We discussed this a few days ago. We had repeated issues with magically
> loaded files from strange locations that the users took a long time to
> find and fix. The solution that I saw in 0.95 was even more search
> locations, which I think was not right.
>
> So the philosophy in trunk is "either it stares at you or it isn't
> there". And includes do this in a way that doesn't sacrifice
> convenience.
>
> > Did that come from the underlying config classes used, or was that done
> > from scratch? We should also consider hos this works with respect to the
> > use of cpp in stc, if we see ourselves heading to the use of stc as a
> > universal front end for the Swift toolchain.
> >
> > - as we discussed before, but never resolved - we should decide if the
> > documented/encouraged format will have colon separators and quoted
> > string values.
>
> You need to quote values that have special characters, such as "-" or
> spaces, etc. Having to think about whether a particular string or not
> does contain "special characters" to see if you are going to write
> quotes or not is an effort that I do not think we should push the users
> into. But it's a choice.
>
> > I prefer the visually simpler format without either, and
> > I think 0.95 also allows an optional "=" separator as in standard
> > properties files. ( http://en.wikipedia.org/wiki/.properties is a nice
> > summary, and says " Several formats are possible for each line,
> > including key=value, key = value, key:value, and key value.")
>
> Give it some time :)
> You might like it. I know it's not exactly the 0.95 config. It's not a
> perfect world.
>
> >
> > I think we can work all these issues out as we go. I'm eager to test
> > trunk in its current state before we address any of the issues above.
> > Lets concentrate first on manual testing and on getting the property
> > names stabilized and the more important semantic changes.
>
> Right.
>
> >
> > Also, we need to work out issues in application location specifications
> > that were started but not yet fully developed in the 0.95 effort. David
> > and I discussed these, and we need to capture and post the
> > recommendations that were still in progress for this.
>
> Yes, please! I really wished I had seen a discussion on the 0.95 config
> before it went into code.
>
> Mihael
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From delf.egge at hcu-hamburg.de Sun Jul 13 17:22:47 2014
From: delf.egge at hcu-hamburg.de (Delf Egge HCU)
Date: Mon, 14 Jul 2014 00:22:47 +0200
Subject: [Swift-devel] Question: Reading from keyboard
In-Reply-To:
References:
Message-ID: <0AA7F6B2-1DC9-4657-A451-EFE7940424ED@hcu-hamburg.de>
Dear people!
Could you please help me and let me know
how to input characters (strings) from the keyboard with Swift?
I am only aware of the C language "scanf".
Thank you very much in advance.
Kind regards,
Delf Egge
delf.egge at hcu-hamburg.de
Sent from my iPhone.
> Am 14.07.2014 um 00:05 schrieb swift-devel-request at ci.uchicago.edu:
>
> Send Swift-devel mailing list
Rest deleted.
From wilde at anl.gov Sun Jul 13 17:40:38 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sun, 13 Jul 2014 17:40:38 -0500
Subject: [Swift-devel] Question: Reading from keyboard
In-Reply-To: <0AA7F6B2-1DC9-4657-A451-EFE7940424ED@hcu-hamburg.de>
References:
<0AA7F6B2-1DC9-4657-A451-EFE7940424ED@hcu-hamburg.de>
Message-ID: <53C30AE6.7020104@anl.gov>
Delf,
If you are asking about Apple's Swift language, please refer to
https://developer.apple.com/swift/
If you are asking about the Swift parallel scripting language
(http://swift-lang.org), you should join the swift-user email list and
ask this question there.
Having said that, in our Swift language there is seldom a reason to read
from stdin, although one could envision such cases.
You can read from stdin in a limited manner like this:
$ cat stdin.swift
type file;
string s = readData("/dev/stdin");
trace(s);
$ swift stdin.swift
Swift 0.94.1 swift-r7114 cog-r3803
RunID: 20140713-2234-4r8sfd3b
Progress: time: Sun, 13 Jul 2014 22:34:59 +0000
This is my input on stdin.
^D
SwiftScript trace: This is my input on stdin.
Final status: Sun, 13 Jul 2014 22:35:11 +0000
$
All of stdin until an EOF (^D) is read by readData( ).
There is no line separation if you read into a scalar.
If you read into a string array, each line of stdin is assigned to an
element of the array.
One could envision a read function that reads stdin a line at a time, to
enable an interactive Swift script, but to date this need has not arisen.
- Mike
On 7/13/14, 5:22 PM, Delf Egge HCU wrote:
> Dear people!
>
> Could you please help me and let me know
>
> how to input characters (strings) from the keyboard with Swift?
>
> I am only aware of the C language "scanf".
>
> Thank you very much in advance.
>
> Kind regards,
> Delf Egge
>
> delf.egge at hcu-hamburg.de
>
> Sent from my iPhone.
>
>> Am 14.07.2014 um 00:05 schrieb swift-devel-request at ci.uchicago.edu:
>>
>> Send Swift-devel mailing list
> Rest deleted.
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From hategan at mcs.anl.gov Sun Jul 13 18:37:18 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sun, 13 Jul 2014 16:37:18 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <53C30217.20501@anl.gov>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov>
Message-ID: <1405294638.17861.33.camel@echo>
I know the feeling. I get it too. I see some new stuff and I was getting
used to the old stuff, and I get this immediate anger about the new
stuff and the feeling that it's stupid and I want the old stuff back.
All I'm saying is give it some time. Try it out a bit, see how you would
do something with it, etc. It's not set in stone. We have SVN and we can
always go back.
Ultimately the questions are: can I do what I was doing before, and how
much effort does that require. Also what are the new things that I can
do and could not do before, and how much better/worse is the overall
process. I know what the previous thing could do, and you can still do
that, just not in the exact same way.
Some more inline...
On Sun, 2014-07-13 at 17:03 -0500, Michael Wilde wrote:
> On 7/13/14, 1:01 PM, Mihael Hategan wrote:
> >> - the include mechanism is new. I think its nice and likely is very
> >> >useful, but I wonder how it will interact with or supplement the
> >> >property search path.
> > We discussed this a few days ago. We had repeated issues with magically
> > loaded files from strange locations that the users took a long time to
> > find and fix. The solution that I saw in 0.95 was even more search
> > locations, which I think was not right.
> >
> > So the philosophy in trunk is "either it stares at you or it isn't
> > there". And includes do this in a way that doesn't sacrifice
> > convenience.
> >
> I disagree with this. The properties search path in 0.95 was carefully
> thought out, and based on a lot of experience with users, even it that
> discussion did not take place on the list.
You can write a config file that includes all the different config files
and put it in swift/etc, if, as a user, that is what you think is best.
>
> Unfortunately the trunk commits over-wrote the 0.95 documentation in the
> trunk userguide, but the search path was like this:
>
> Location of swift.properties
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Swift searches for swift.properties files in multiple locations:
>
> 1. The etc/swift.properties file included with the Swift distribution.
> 2. $SWIFT_SITE_CONF/swift.properties - used for defining site templates.
> 3. $HOME/.swift/swift.properties
> 4. swift.properties in your current directory.
> 5. Any property file you point to with the command line argument
> "-properties
> "
>
> Settings get read in this order. Definitions in the later files will
> override
> any previous definitions. For example, if you have execution.retries=10 in
> $HOME/.swift/swift.properties, and execution.retries=0 in the
> swift.properties
> in your current directory, execution.retries will be set to 0.
Yes. Well, I think this is bad. Imagine a user having to mentally go
through this sequence in order to figure out what's being set and where.
It's actually nearly impossible mentally. You have to go through the
files and remember the order.
The biggest problems we've had so far in terms of the configuration we
had were with this. A file in the search path magically loaded without
the user's knowledge. Even recently you and Yadu have experienced this,
and were wondering where some configuration value comes from that was
causing a run to break. And it took you a few hours and I had to get
involved to sort it out. And It was all documented. See
https://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=1281
So no, I do not think that this is a good idea.
>
> I thought this search path notion was logical, useful, and reflected the
> needs of users and site admins. It was a refinement of what existed in
> Swift going back many releases.
It added extra steps to something that already had too many steps.
That said, the new stuff doesn't say you can't do that. Just that you
have to actually say it yourself that you want to do that. The reason we
had multiple search paths is because we did not support includes, so we
needed a mechanism to override only a few things. But you can simulate
it with includes and customize it in whatever way you want and it would
be obvious what's coming from where.
The point is to give the user a simple and powerful tool to do what they
need.
>
> In 0.95 it was tied to the use of run directories (which I hope has not
> been removed from trunk!).
No. It's still there. I like it. I only renamed runxxx.log to swift.log,
since I did not se why everything had a name that did not include the
run id except for the log. We can change this back if there is a reason.
We do probably need to fix a few issues with it. It will break with
concurrent starts of swift, and it will break on filesystems that don't
list directories in some particular order.
From tim.g.armstrong at gmail.com Sun Jul 13 20:04:30 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Sun, 13 Jul 2014 20:04:30 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405294638.17861.33.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
Message-ID:
My two cents: the five step search path seems logical and I can come up
with scenarios where someone would want to have a particular setting at a
particular level in the hierarchy.
It reminds me though of some of the OOP debates about inheritance, where
you have carefully thought out, deep, inheritance hierarchies, carefully
engineered to reuse code wherever possible. The problem tends to be that
as a developer reading a bit of code, you've got no idea which overridden
method is being called, except maybe with the help of an IDE. There's not
really a right answer, just that sometimes the smart complicated way is the
best, and sometimes the dumb but simple way is the best.
Maybe if having 4/5 levels of configuration is "the right thing" that users
should do, all of the sample and tutorial properties files that users will
copy could just explicitly include their predecessor? I.e. use the
explicit mechanism but encourage the desired approach by convention.
With the more complex inheritance mechanism, it seems like it is almost
necessary to have a tool that shows all of the currently applied settings
and where they come from.
- Tim
On Sun, Jul 13, 2014 at 6:37 PM, Mihael Hategan wrote:
> I know the feeling. I get it too. I see some new stuff and I was getting
> used to the old stuff, and I get this immediate anger about the new
> stuff and the feeling that it's stupid and I want the old stuff back.
>
> All I'm saying is give it some time. Try it out a bit, see how you would
> do something with it, etc. It's not set in stone. We have SVN and we can
> always go back.
>
> Ultimately the questions are: can I do what I was doing before, and how
> much effort does that require. Also what are the new things that I can
> do and could not do before, and how much better/worse is the overall
> process. I know what the previous thing could do, and you can still do
> that, just not in the exact same way.
>
> Some more inline...
>
> On Sun, 2014-07-13 at 17:03 -0500, Michael Wilde wrote:
> > On 7/13/14, 1:01 PM, Mihael Hategan wrote:
> > >> - the include mechanism is new. I think its nice and likely is very
> > >> >useful, but I wonder how it will interact with or supplement the
> > >> >property search path.
> > > We discussed this a few days ago. We had repeated issues with magically
> > > loaded files from strange locations that the users took a long time to
> > > find and fix. The solution that I saw in 0.95 was even more search
> > > locations, which I think was not right.
> > >
> > > So the philosophy in trunk is "either it stares at you or it isn't
> > > there". And includes do this in a way that doesn't sacrifice
> > > convenience.
> > >
> > I disagree with this. The properties search path in 0.95 was carefully
> > thought out, and based on a lot of experience with users, even it that
> > discussion did not take place on the list.
>
> You can write a config file that includes all the different config files
> and put it in swift/etc, if, as a user, that is what you think is best.
>
> >
> > Unfortunately the trunk commits over-wrote the 0.95 documentation in the
> > trunk userguide, but the search path was like this:
> >
> > Location of swift.properties
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Swift searches for swift.properties files in multiple locations:
> >
> > 1. The etc/swift.properties file included with the Swift distribution.
> > 2. $SWIFT_SITE_CONF/swift.properties - used for defining site templates.
> > 3. $HOME/.swift/swift.properties
> > 4. swift.properties in your current directory.
> > 5. Any property file you point to with the command line argument
> > "-properties
> > "
> >
> > Settings get read in this order. Definitions in the later files will
> > override
> > any previous definitions. For example, if you have execution.retries=10
> in
> > $HOME/.swift/swift.properties, and execution.retries=0 in the
> > swift.properties
> > in your current directory, execution.retries will be set to 0.
>
> Yes. Well, I think this is bad. Imagine a user having to mentally go
> through this sequence in order to figure out what's being set and where.
> It's actually nearly impossible mentally. You have to go through the
> files and remember the order.
>
> The biggest problems we've had so far in terms of the configuration we
> had were with this. A file in the search path magically loaded without
> the user's knowledge. Even recently you and Yadu have experienced this,
> and were wondering where some configuration value comes from that was
> causing a run to break. And it took you a few hours and I had to get
> involved to sort it out. And It was all documented. See
> https://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=1281
>
> So no, I do not think that this is a good idea.
>
> >
> > I thought this search path notion was logical, useful, and reflected the
> > needs of users and site admins. It was a refinement of what existed in
> > Swift going back many releases.
>
> It added extra steps to something that already had too many steps.
>
> That said, the new stuff doesn't say you can't do that. Just that you
> have to actually say it yourself that you want to do that. The reason we
> had multiple search paths is because we did not support includes, so we
> needed a mechanism to override only a few things. But you can simulate
> it with includes and customize it in whatever way you want and it would
> be obvious what's coming from where.
>
> The point is to give the user a simple and powerful tool to do what they
> need.
>
> >
> > In 0.95 it was tied to the use of run directories (which I hope has not
> > been removed from trunk!).
>
> No. It's still there. I like it. I only renamed runxxx.log to swift.log,
> since I did not se why everything had a name that did not include the
> run id except for the log. We can change this back if there is a reason.
>
> We do probably need to fix a few issues with it. It will break with
> concurrent starts of swift, and it will break on filesystems that don't
> list directories in some particular order.
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From wilde at anl.gov Sun Jul 13 20:17:53 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sun, 13 Jul 2014 20:17:53 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To:
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo> <53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
Message-ID: <53C32FC1.70507@anl.gov>
I agree about the logical nature of the search path. But it was
designed so that most users would see a very simple view of
configuration. Its not really like a deep inheritance tree.
The concept was this:
> 1. The etc/swift.properties file included with the Swift distribution.
These would be basic things like localhost, and maybe a few simple sites
for generic cloud pools and sets of ad-hoc nodes.
Things that should enable you to just download Swift and try a few
things without thinking (or even knowing) about sites.
> 2. $SWIFT_SITE_CONF/swift.properties - used for defining site templates.
This was for site admins to make, e.g., Swift modules, so that when you
say "module load swift" you get a set of reasonable site definitions for
local clusters and queues.
> 3. $HOME/.swift/swift.properties
This would allow the user to set some preferences, like whether they
wanted Swift retry to be on or off by default.
> 4. swift.properties in your current directory.
This was seen as the *main* property file that a user would create,
alongside their .swift file, for a given scripting application. Its
where anything specific to running a given script would be set.
> 5. Any property file you point to with the command line argument
This was seen as a way to specify a remote configuration file, and was
expected to be seldom used by most users.
Regarding the tool, I agree totally, and there was indeed such a thing
provided in 0.95:
To verify what files are being read, and what values will be set, run:
-----
$ swift -listconfig
-----
Ive not checked its output, but both it, and the swift log, should list:
a) a set of all the properties files that were read in the run (or in
the current environment)
b) a hierarchical listing of all properties (including site attributes),
listed one attribute per line.
For each attribute, the output can append a simple [n] notation after
each attribute stating which of the N property files that attribute was
set from.
- Mike
On 7/13/14, 8:04 PM, Tim Armstrong wrote:
> My two cents: the five step search path seems logical and I can come
> up with scenarios where someone would want to have a particular
> setting at a particular level in the hierarchy.
>
> It reminds me though of some of the OOP debates about inheritance,
> where you have carefully thought out, deep, inheritance hierarchies,
> carefully engineered to reuse code wherever possible. The problem
> tends to be that as a developer reading a bit of code, you've got no
> idea which overridden method is being called, except maybe with the
> help of an IDE. There's not really a right answer, just that
> sometimes the smart complicated way is the best, and sometimes the
> dumb but simple way is the best.
>
> Maybe if having 4/5 levels of configuration is "the right thing" that
> users should do, all of the sample and tutorial properties files that
> users will copy could just explicitly include their predecessor? I.e.
> use the explicit mechanism but encourage the desired approach by
> convention.
>
> With the more complex inheritance mechanism, it seems like it is
> almost necessary to have a tool that shows all of the currently
> applied settings and where they come from.
>
> - Tim
>
>
> On Sun, Jul 13, 2014 at 6:37 PM, Mihael Hategan > wrote:
>
> I know the feeling. I get it too. I see some new stuff and I was
> getting
> used to the old stuff, and I get this immediate anger about the new
> stuff and the feeling that it's stupid and I want the old stuff back.
>
> All I'm saying is give it some time. Try it out a bit, see how you
> would
> do something with it, etc. It's not set in stone. We have SVN and
> we can
> always go back.
>
> Ultimately the questions are: can I do what I was doing before,
> and how
> much effort does that require. Also what are the new things that I can
> do and could not do before, and how much better/worse is the overall
> process. I know what the previous thing could do, and you can still do
> that, just not in the exact same way.
>
> Some more inline...
>
> On Sun, 2014-07-13 at 17:03 -0500, Michael Wilde wrote:
> > On 7/13/14, 1:01 PM, Mihael Hategan wrote:
> > >> - the include mechanism is new. I think its nice and likely
> is very
> > >> >useful, but I wonder how it will interact with or supplement the
> > >> >property search path.
> > > We discussed this a few days ago. We had repeated issues with
> magically
> > > loaded files from strange locations that the users took a long
> time to
> > > find and fix. The solution that I saw in 0.95 was even more search
> > > locations, which I think was not right.
> > >
> > > So the philosophy in trunk is "either it stares at you or it isn't
> > > there". And includes do this in a way that doesn't sacrifice
> > > convenience.
> > >
> > I disagree with this. The properties search path in 0.95 was
> carefully
> > thought out, and based on a lot of experience with users, even
> it that
> > discussion did not take place on the list.
>
> You can write a config file that includes all the different config
> files
> and put it in swift/etc, if, as a user, that is what you think is
> best.
>
> >
> > Unfortunately the trunk commits over-wrote the 0.95
> documentation in the
> > trunk userguide, but the search path was like this:
> >
> > Location of swift.properties
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Swift searches for swift.properties files in multiple locations:
> >
> > 1. The etc/swift.properties file included with the Swift
> distribution.
> > 2. $SWIFT_SITE_CONF/swift.properties - used for defining site
> templates.
> > 3. $HOME/.swift/swift.properties
> > 4. swift.properties in your current directory.
> > 5. Any property file you point to with the command line argument
> > "-properties
> > "
> >
> > Settings get read in this order. Definitions in the later files will
> > override
> > any previous definitions. For example, if you have
> execution.retries=10 in
> > $HOME/.swift/swift.properties, and execution.retries=0 in the
> > swift.properties
> > in your current directory, execution.retries will be set to 0.
>
> Yes. Well, I think this is bad. Imagine a user having to mentally go
> through this sequence in order to figure out what's being set and
> where.
> It's actually nearly impossible mentally. You have to go through the
> files and remember the order.
>
> The biggest problems we've had so far in terms of the configuration we
> had were with this. A file in the search path magically loaded without
> the user's knowledge. Even recently you and Yadu have experienced
> this,
> and were wondering where some configuration value comes from that was
> causing a run to break. And it took you a few hours and I had to get
> involved to sort it out. And It was all documented. See
> https://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=1281
>
> So no, I do not think that this is a good idea.
>
> >
> > I thought this search path notion was logical, useful, and
> reflected the
> > needs of users and site admins. It was a refinement of what
> existed in
> > Swift going back many releases.
>
> It added extra steps to something that already had too many steps.
>
> That said, the new stuff doesn't say you can't do that. Just that you
> have to actually say it yourself that you want to do that. The
> reason we
> had multiple search paths is because we did not support includes,
> so we
> needed a mechanism to override only a few things. But you can simulate
> it with includes and customize it in whatever way you want and it
> would
> be obvious what's coming from where.
>
> The point is to give the user a simple and powerful tool to do
> what they
> need.
>
> >
> > In 0.95 it was tied to the use of run directories (which I hope
> has not
> > been removed from trunk!).
>
> No. It's still there. I like it. I only renamed runxxx.log to
> swift.log,
> since I did not se why everything had a name that did not include the
> run id except for the log. We can change this back if there is a
> reason.
>
> We do probably need to fix a few issues with it. It will break with
> concurrent starts of swift, and it will break on filesystems that
> don't
> list directories in some particular order.
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Sun Jul 13 20:55:15 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sun, 13 Jul 2014 18:55:15 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To:
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
Message-ID: <1405302915.18573.37.camel@echo>
Inheritance is nice and we want that. It's there, not going away. But it
is being made explicit rather than implicit. In an OO language it's the
same as saying that if you inherit from a class, you need to tell the
compiler what the class is instead of only allowing classes whose names
start with B to inherit from classes whose names start with GRZ who in
turn can only inherit from a class called BLA, and you don't get to say
which; the compiler automatically picks them for you.
The five step path is logical and I too can come up with scenarios where
it would be needed. I can also come up with scenarios where something
else is logical, and there are examples of scenarios in which a
similarly stepped path is a problem.
So I think we are arguing very different things here. What I do not like
is lenient defaults. Like $PWD/swift.conf. If the user creates a file
siwft.conf, Swift will happily run. The user will probably only notice
it after a lot of work and pain. Similar story with
~/.swift/swift.properties. But I have never heard one person complain
that they have to say -sites.file on the command line.
On Sun, 2014-07-13 at 20:04 -0500, Tim Armstrong wrote:
> My two cents: the five step search path seems logical and I can come up
> with scenarios where someone would want to have a particular setting at a
> particular level in the hierarchy.
>
> It reminds me though of some of the OOP debates about inheritance, where
> you have carefully thought out, deep, inheritance hierarchies, carefully
> engineered to reuse code wherever possible. The problem tends to be that
> as a developer reading a bit of code, you've got no idea which overridden
> method is being called, except maybe with the help of an IDE. There's not
> really a right answer, just that sometimes the smart complicated way is the
> best, and sometimes the dumb but simple way is the best.
>
> Maybe if having 4/5 levels of configuration is "the right thing" that users
> should do, all of the sample and tutorial properties files that users will
> copy could just explicitly include their predecessor? I.e. use the
> explicit mechanism but encourage the desired approach by convention.
The "desired approach" here is our interpretation of the feedback we got
from the users. I don't think we should encourage them to do what we
think they said they want to do. They probably know better.
>
> With the more complex inheritance mechanism, it seems like it is almost
> necessary to have a tool that shows all of the currently applied settings
> and where they come from.
I agree. This is currently in the log, but it can be better.
Mihael
From wilde at anl.gov Sun Jul 13 20:59:28 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sun, 13 Jul 2014 20:59:28 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405302915.18573.37.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo>
Message-ID: <53C33980.1070608@anl.gov>
On 7/13/14, 8:55 PM, Mihael Hategan wrote:
> But I have never heard one person complain
> that they have to say -sites.file on the command line.
The fact that the standard swift invocation line today is:
swift -tc.file tc.data -sites.file sites.xml -config swift.properties
is absolutely insane, and its what 0.95 nicely fixed.
Users don't complain - they go find simpler languages.
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From hategan at mcs.anl.gov Sun Jul 13 21:25:45 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sun, 13 Jul 2014 19:25:45 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <53C33980.1070608@anl.gov>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
Message-ID: <1405304745.18573.63.camel@echo>
On Sun, 2014-07-13 at 20:59 -0500, Michael Wilde wrote:
> On 7/13/14, 8:55 PM, Mihael Hategan wrote:
> > But I have never heard one person complain
> > that they have to say -sites.file on the command line.
> The fact that the standard swift invocation line today is:
>
> swift -tc.file tc.data -sites.file sites.xml -config swift.properties
Most users would have a run script for this. It's trivial to write, and
hard to make unnoticeable mistakes with it.
>
> is absolutely insane, and its what 0.95 nicely fixed.
Not insane. Just what you should expect from a command-line tool. Like,
gcc -Wno-write-strings -L/usr/local/lib, etc.
Having 5 fallback configuration file locations is more uncommon I think.
>
> Users don't complain - they go find simpler languages.
>
Maybe. My impression was that it was hard to understand what was
happening behind their backs, which I thought was a somewhat known
problem in design for which the commonly accepted solutions were: have a
single, well specified way to do things, and don't have magical
behavior.
I'm getting the feeling that you would rather have everything reverted
to what was in 0.95. Let me know if this is the case. It should be
pretty straightforward to do.
Mihael
From wilde at anl.gov Sun Jul 13 21:27:21 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sun, 13 Jul 2014 21:27:21 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405304745.18573.63.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo>
Message-ID: <53C34009.9010302@anl.gov>
On 7/13/14, 9:25 PM, Mihael Hategan wrote:
> I'm getting the feeling that you would rather have everything reverted
> to what was in 0.95. Let me know if this is the case. It should be
> pretty straightforward to do.
I want to keep the new config mechanism you just added, and bring back
the search paths as they were in 0.95.
- Mike
From hategan at mcs.anl.gov Sun Jul 13 22:02:37 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sun, 13 Jul 2014 20:02:37 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <53C34009.9010302@anl.gov>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
Message-ID: <1405306957.18573.85.camel@echo>
Sorry. This discussion went a bit off. I apologize.
Search path. There are some changes. Here are the details:
1. swift/etc/swift.conf is still there
2. SWIFT_SITE_CONF is still there. It makes good sense.
3. ~/.swift/swift.conf is gone. SWIFT_SITE_CONF does the same and is
explicit. Can be added back.
4. ./swift.conf is gone for reasons of magicality. Can also be added
back.
5. -config on the command line is still there.
The fundamental difference is that there is no "if it's not there,
ignore silently and continue" behavior and there is no automated
chaining. The user has to say what they want. It's a one-time operation
per file. Very likely less work than the actual contents of the file,
but less error-prone. It's a choice. That of safety vs. convenience. We
can bias either way and supplement with tools.
We could and should discuss the merits of what has changed. It might
help if we do it one issue at a time.
Mihael
From hategan at mcs.anl.gov Mon Jul 14 13:00:28 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Mon, 14 Jul 2014 11:00:28 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405306957.18573.85.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo>
Message-ID: <1405360828.24817.6.camel@echo>
Hi,
So, first, when I say "gone" that means "it's not there right now in
trunk". This is work in progress, and I was hoping to get feedback from
everybody, hopefully based on use cases and experiences. This change
brings an opportunity to re-visit some of the things we have and see if
they make sense in the new context and make the right long-term
decisions.
The first question is whether ~/.swift/swift.conf and ./swift.conf
should be explicitly in the search path, since SWIFT_SITE_CONF can do
both:
export SWIFT_SITE_CONF=~/.swift/swift.conf
export SWIFT_SITE_CONF=./swift.conf
Mihael
On Sun, 2014-07-13 at 20:02 -0700, Mihael Hategan wrote:
> Sorry. This discussion went a bit off. I apologize.
>
> Search path. There are some changes. Here are the details:
>
> 1. swift/etc/swift.conf is still there
> 2. SWIFT_SITE_CONF is still there. It makes good sense.
> 3. ~/.swift/swift.conf is gone. SWIFT_SITE_CONF does the same and is
> explicit. Can be added back.
> 4. ./swift.conf is gone for reasons of magicality. Can also be added
> back.
> 5. -config on the command line is still there.
>
> The fundamental difference is that there is no "if it's not there,
> ignore silently and continue" behavior and there is no automated
> chaining. The user has to say what they want. It's a one-time operation
> per file. Very likely less work than the actual contents of the file,
> but less error-prone. It's a choice. That of safety vs. convenience. We
> can bias either way and supplement with tools.
>
> We could and should discuss the merits of what has changed. It might
> help if we do it one issue at a time.
>
> Mihael
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
From yadunand at uchicago.edu Mon Jul 14 14:36:51 2014
From: yadunand at uchicago.edu (Yadu Nand Babuji)
Date: Mon, 14 Jul 2014 14:36:51 -0500
Subject: [Swift-devel] Swift on AWS-EC2 [Request for comments]
Message-ID: <53C43153.6090704@uchicago.edu>
Hi Everyone,
I've added support for Amazon's-EC2 to the swift-on-cloud repository and
tutorial. Please try the setup and documentation.
If you are on the swift allocation on AWS, you'd only need to get the
IAM credentials file from the swift aws console:
https://swift.signin.aws.amazon.com/console
Otherwise, you'd have to setup billing, and with micro instances prices
are now the same as Google's Compute Engine (around $0.013/Hr/micro
instance)
Cloud setup online doc:
https://github.com/yadudoc/swift-on-cloud/tree/master/aws
Git repo to clone:
https://github.com/yadudoc/swift-on-cloud.git
Once setup is done, do "connect headnode" and you can run the
swift-cloud-tutorial
under your $HOME/swift-on-cloud/swift-cloud-tutorial folder on the
headnode instance.
Feedback would be much appreciated.
PS: Remember to shut-down instances using the "dissolve" command.
Thanks!
Yadu
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Mon Jul 14 15:06:38 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Mon, 14 Jul 2014 13:06:38 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405360828.24817.6.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
Message-ID: <1405368398.25594.7.camel@echo>
If there are no comments or suggestions besides what has already been
said, I'll keep the 5 step search path exactly as it is in 0.95. Please
do comment if you have something to say. We're less likely to re-visit
the issue in the future.
Anyway, the second issue is whether we want automatic or explicit
inheritance. In other words, do we want all of the 5 steps to be loaded
in order, non-existing files being silently skipped, or do we want the
first file in the search path to have to explicitly include others. Or
do we want a mixed behavior (such as SWIFT_SITE_CONF and ./swift.conf
both loaded automaticaly but not others)?
Mihael
On Mon, 2014-07-14 at 11:00 -0700, Mihael Hategan wrote:
> Hi,
>
> So, first, when I say "gone" that means "it's not there right now in
> trunk". This is work in progress, and I was hoping to get feedback from
> everybody, hopefully based on use cases and experiences. This change
> brings an opportunity to re-visit some of the things we have and see if
> they make sense in the new context and make the right long-term
> decisions.
>
> The first question is whether ~/.swift/swift.conf and ./swift.conf
> should be explicitly in the search path, since SWIFT_SITE_CONF can do
> both:
>
> export SWIFT_SITE_CONF=~/.swift/swift.conf
> export SWIFT_SITE_CONF=./swift.conf
>
> Mihael
>
> On Sun, 2014-07-13 at 20:02 -0700, Mihael Hategan wrote:
> > Sorry. This discussion went a bit off. I apologize.
> >
> > Search path. There are some changes. Here are the details:
> >
> > 1. swift/etc/swift.conf is still there
> > 2. SWIFT_SITE_CONF is still there. It makes good sense.
> > 3. ~/.swift/swift.conf is gone. SWIFT_SITE_CONF does the same and is
> > explicit. Can be added back.
> > 4. ./swift.conf is gone for reasons of magicality. Can also be added
> > back.
> > 5. -config on the command line is still there.
> >
> > The fundamental difference is that there is no "if it's not there,
> > ignore silently and continue" behavior and there is no automated
> > chaining. The user has to say what they want. It's a one-time operation
> > per file. Very likely less work than the actual contents of the file,
> > but less error-prone. It's a choice. That of safety vs. convenience. We
> > can bias either way and supplement with tools.
> >
> > We could and should discuss the merits of what has changed. It might
> > help if we do it one issue at a time.
> >
> > Mihael
> >
> > _______________________________________________
> > Swift-devel mailing list
> > Swift-devel at ci.uchicago.edu
> > https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
From tim.g.armstrong at gmail.com Mon Jul 14 15:57:12 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Mon, 14 Jul 2014 15:57:12 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405368398.25594.7.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
<1405368398.25594.7.camel@echo>
Message-ID:
I think the implicit versus explicit thing is a matter of taste; that said,
as a personal preference it seems more elegant and convenient to have a
powerful but explicit include mechanism so that there's an easy and obvious
way to include alternative files at any stage in the process.
A few observations/questions:
* As a user I'd find it really surprising that the implicit ./swift.conf
still is in effect when I provided an explicit command line config. I'm
not aware of any other systems that behave like this.
* If you invoke a Swift script from another directory, does the config file
in your current directory or the script directory take effect? It seems
counterintuitive to me that you would have to cd into the script directory
when you're already explicitly giving the path to the Swift script.
* Is there a way I can temporarily disable a config file on the search
path, beyond moving the file or overriding all of the keys? If so, is this
method discoverable to users?
* If ./swift.conf is meant to correspond to a particular Swift script,
would it make more sense to have the config name match the script name?
- Tim
On Mon, Jul 14, 2014 at 3:06 PM, Mihael Hategan wrote:
> If there are no comments or suggestions besides what has already been
> said, I'll keep the 5 step search path exactly as it is in 0.95. Please
> do comment if you have something to say. We're less likely to re-visit
> the issue in the future.
>
> Anyway, the second issue is whether we want automatic or explicit
> inheritance. In other words, do we want all of the 5 steps to be loaded
> in order, non-existing files being silently skipped, or do we want the
> first file in the search path to have to explicitly include others. Or
> do we want a mixed behavior (such as SWIFT_SITE_CONF and ./swift.conf
> both loaded automaticaly but not others)?
>
> Mihael
>
> On Mon, 2014-07-14 at 11:00 -0700, Mihael Hategan wrote:
> > Hi,
> >
> > So, first, when I say "gone" that means "it's not there right now in
> > trunk". This is work in progress, and I was hoping to get feedback from
> > everybody, hopefully based on use cases and experiences. This change
> > brings an opportunity to re-visit some of the things we have and see if
> > they make sense in the new context and make the right long-term
> > decisions.
> >
> > The first question is whether ~/.swift/swift.conf and ./swift.conf
> > should be explicitly in the search path, since SWIFT_SITE_CONF can do
> > both:
> >
> > export SWIFT_SITE_CONF=~/.swift/swift.conf
> > export SWIFT_SITE_CONF=./swift.conf
> >
> > Mihael
> >
> > On Sun, 2014-07-13 at 20:02 -0700, Mihael Hategan wrote:
> > > Sorry. This discussion went a bit off. I apologize.
> > >
> > > Search path. There are some changes. Here are the details:
> > >
> > > 1. swift/etc/swift.conf is still there
> > > 2. SWIFT_SITE_CONF is still there. It makes good sense.
> > > 3. ~/.swift/swift.conf is gone. SWIFT_SITE_CONF does the same and is
> > > explicit. Can be added back.
> > > 4. ./swift.conf is gone for reasons of magicality. Can also be added
> > > back.
> > > 5. -config on the command line is still there.
> > >
> > > The fundamental difference is that there is no "if it's not there,
> > > ignore silently and continue" behavior and there is no automated
> > > chaining. The user has to say what they want. It's a one-time operation
> > > per file. Very likely less work than the actual contents of the file,
> > > but less error-prone. It's a choice. That of safety vs. convenience. We
> > > can bias either way and supplement with tools.
> > >
> > > We could and should discuss the merits of what has changed. It might
> > > help if we do it one issue at a time.
> > >
> > > Mihael
> > >
> > > _______________________________________________
> > > Swift-devel mailing list
> > > Swift-devel at ci.uchicago.edu
> > > https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
> >
> >
> > _______________________________________________
> > Swift-devel mailing list
> > Swift-devel at ci.uchicago.edu
> > https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Mon Jul 14 16:29:32 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Mon, 14 Jul 2014 14:29:32 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To:
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
<1405368398.25594.7.camel@echo>
Message-ID: <1405373372.26058.30.camel@echo>
Thanks. Inline...
On Mon, 2014-07-14 at 15:57 -0500, Tim Armstrong wrote:
> I think the implicit versus explicit thing is a matter of taste; that said,
> as a personal preference it seems more elegant and convenient to have a
> powerful but explicit include mechanism so that there's an easy and obvious
> way to include alternative files at any stage in the process.
>
> A few observations/questions:
> * As a user I'd find it really surprising that the implicit ./swift.conf
> still is in effect when I provided an explicit command line config. I'm
> not aware of any other systems that behave like this.
That seems to be what happens in 0.95. I agree that the behavior is a
little surprising.
We could:
- have the value of -config replace ./swift.conf in the search path,
while keeping everything else unchanged
- not have ./swift.conf in the search path
- keep it as is in 0.95, but print out a message that both are being
used
> * If you invoke a Swift script from another directory, does the config file
> in your current directory or the script directory take effect? It seems
> counterintuitive to me that you would have to cd into the script directory
> when you're already explicitly giving the path to the Swift script.
In 0.95 it is my understanding from reading the code that it would be
the current directory. I suspect this is a simple oversight. Both the
"new configs" are young code, and these things happen.
>From what Mike was saying, and unless folks disagree, I would think that
it should use swift.conf in the swift script directory.
> * Is there a way I can temporarily disable a config file on the search
> path, beyond moving the file or overriding all of the keys? If so, is this
> method discoverable to users?
Not with any of the pre-trunk schemes. With explicit inheritance it
would be a matter of commenting out an included file (and maybe
additionally adding includes to any chained includes from the skipped
file). I would say this is pretty obvious and therefore trivially
discoverable.
It could be possible to have the config search path be defined by the
user, in a spirit similar to $PATH, but that might be pushing things too
far.
> * If ./swift.conf is meant to correspond to a particular Swift script,
> would it make more sense to have the config name match the script name?
That's a thought. Maybe. The consequences would be that you would need
to re-name configuration files if you use them with another script and
you would need to have multiple copies/links if you have multiple swift
scripts in the same directory.
On the topic of includes, what do you think about specifying the config
as a pragma directly in the swift script?
Mihael
From wilde at anl.gov Mon Jul 14 20:04:13 2014
From: wilde at anl.gov (Michael Wilde)
Date: Mon, 14 Jul 2014 20:04:13 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405360828.24817.6.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
Message-ID: <53C47E0D.6080609@anl.gov>
On 7/14/14, 1:00 PM, Mihael Hategan wrote:
> The first question is whether ~/.swift/swift.conf and ./swift.conf
> should be explicitly in the search path, since SWIFT_SITE_CONF can do
> both:
>
> export SWIFT_SITE_CONF=~/.swift/swift.conf
> export SWIFT_SITE_CONF=./swift.conf
This variable was intended specifically for shared site definitions, to
be provided by the group that administers Swift on the site (eg, like
the RCC team), for use by all Swift users at the location.
If its value can only be a single filename, it can not serve this
site-wide role in addition to the two alternative roles you show above:
personal settings (~/.swift/swift.conf), and run-specific settings
(./swift.conf). This variable can only serve one of these three roles.
But I don't think that this is the first question. The first question
is, should we have a search path for conf settings, and if so, what
should it be.
You indicated however that ~/.swift/swift.conf remains in use for
personal settings. That's good.
So the sole difference in property search path between 0.95 RC6 and
trunk is that trunk no longer reads a property file by a fixed name from
the current directory in which swift is run.
0.94 had:
swift installation
user
-config
command-line options
0.95 had:
swift installation
site-wide (new)
user
script (./) (new)
-config
command line
trunk has:
swift installation
site-wide
user
-config
command line
So the first point to discuss is in fact do we retain or remove the 0.95
notion that properties that apply to a specific script can be placed
alongside the script with no additional arguments on the swift command.
Because that is, from considerable experience, the way most users use
swift. Ive been creating a .cf file and specifying "-config cf" for many
many years. Its just a question of whether virtually every swift
invocation will continue to need to specify -config or not.
If the argument is that the user might mis-spell the name of the
./swift.conf file, and perform a run with differet properties than were
intended, I think thats a weak argument for removing this feature. The
user could just as easily mis-spell ~/.swift/swift.conf. An emacs user
could mispell ~/.emacs or ~/.bashrc and the intended file would also be
silently ignored. But there's a strong precedent for implicitly assumed
config filenames in a variety of locations, and I think ./swift.conf
calls into that same category.
One option is to add a property that specifies whether a default
per-script config file is read. This would be typically then specified
by the user (or the tutorial setup) in ~/.swift/swift.conf. E.g.:
perScriptConfig: ./swift.conf
If we need to keep specifying -config, I can live with that. I'm more
concerned that, in swift tutorials, simple things be simple. I like the
simplicity of saying "swift part06.swift".
- Mike
From wilde at anl.gov Mon Jul 14 21:09:41 2014
From: wilde at anl.gov (Michael Wilde)
Date: Mon, 14 Jul 2014 21:09:41 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405373372.26058.30.camel@echo>
References: <53C2AD4B.9030605@anl.gov>
<1405274479.16177.13.camel@echo> <53C30217.20501@anl.gov>
<1405294638.17861.33.camel@echo> <1405302915.18573.37.camel@echo>
<53C33980.1070608@anl.gov> <1405304745.18573.63.camel@echo>
<53C34009.9010302@anl.gov> <1405306957.18573.85.camel@echo>
<1405360828.24817.6.camel@echo> <1405368398.25594.7.camel@echo>
<1405373372.26058.30.camel@echo>
Message-ID: <53C48D65.1000008@anl.gov>
I sent an earlier reply with having seen all the latest posts to this
thread.
This reply tries to catch up - sorry!
On 7/14/14, 4:29 PM, Mihael Hategan wrote:
> Thanks. Inline...
>
> On Mon, 2014-07-14 at 15:57 -0500, Tim Armstrong wrote:
>> I think the implicit versus explicit thing is a matter of taste; that said,
>> as a personal preference it seems more elegant and convenient to have a
>> powerful but explicit include mechanism so that there's an easy and obvious
>> way to include alternative files at any stage in the process.
>> A few observations/questions:
>> * As a user I'd find it really surprising that the implicit ./swift.conf
>> still is in effect when I provided an explicit command line config. I'm
>> not aware of any other systems that behave like this.
> That seems to be what happens in 0.95. I agree that the behavior is a
> little surprising.
>
> We could:
> - have the value of -config replace ./swift.conf in the search path,
> while keeping everything else unchanged
I agree - that would be good, and better than the current 0.95 behavior.
> - not have ./swift.conf in the search path
> - keep it as is in 0.95, but print out a message that both are being
> used
>
>> * If you invoke a Swift script from another directory, does the config file
>> in your current directory or the script directory take effect? It seems
>> counterintuitive to me that you would have to cd into the script directory
>> when you're already explicitly giving the path to the Swift script.
> In 0.95 it is my understanding from reading the code that it would be
> the current directory. I suspect this is a simple oversight. Both the
> "new configs" are young code, and these things happen.
>
> From what Mike was saying, and unless folks disagree, I would think that
> it should use swift.conf in the swift script directory.
I think it would be better to expect swift.conf in the current directory
of the swift command.
The script may be remote; the cwd is where the user will be "working"
and creating run directories, and its where the properties for the
execution of the requested script would more conveniently placed.
>
>> * Is there a way I can temporarily disable a config file on the search
>> path, beyond moving the file or overriding all of the keys? If so, is this
>> method discoverable to users?
> Not with any of the pre-trunk schemes. With explicit inheritance it
> would be a matter of commenting out an included file (and maybe
> additionally adding includes to any chained includes from the skipped
> file). I would say this is pretty obvious and therefore trivially
> discoverable.
>
> It could be possible to have the config search path be defined by the
> user, in a spirit similar to $PATH, but that might be pushing things too
> far.
We could add properties that you could specify in ~/.swift or higher:
e.g., noSwiftConfFile, noSwiftScriptFile, etc.
(Ive not given any thought to these actual names, though). Ive suggested
another property-affecting-property in a prior response, and these would
have a similar role. At the risk of making the config mechanism still
more complex for the purpose of making it more tailorable to individual
preference.
>> * If ./swift.conf is meant to correspond to a particular Swift script,
>> would it make more sense to have the config name match the script name?
> That's a thought. Maybe. The consequences would be that you would need
> to re-name configuration files if you use them with another script and
> you would need to have multiple copies/links if you have multiple swift
> scripts in the same directory.
I think not, again for the reason above. ./swift.conf is more specific
to the task the user istrying to perform than to the specific script
being used.
>
> On the topic of includes, what do you think about specifying the config
> as a pragma directly in the swift script?
I could see that being useful on occasion to bind specific behavior to a
script, but its yet another set of specs and philosophies to wrestle with.
I'd vote for holding off on discussion of this pragma aspect until we
get to a consensus on the current points in this thread.
so we have this implicit search path by default:
releaseConf=$SWIFT_HOME/etc/swift.conf
siteConf=$SWIFT_SITE_CONF
userConf=$HOME/.swift/swift.conf
runConf=$PWD/swift.conf
and these command line options:
-config
-specific-properties
To allow the default search path to be overridden on the command line,
we can permit:
-config file1:file2:...:fileN # use these config files to replace runConf
-reconfig file:file2:...:fileN # use these config files to replace all
implicit config (including Swift's built-in defaults)
-noReleaseConf -noSiteConf -noUserConf -noRunConf # use these flags to
remove implicit config files from config path
If in addition you leave in the include facility, I think all options
are possible, and there's a reasonable rationale and logic to the process.
It does make testing quite a challenge; documentation should not be too
bad provided we dont uncover weird cases.
Usability should be good, if we mostly leave things alone and use either
./swift.conf or -config oneFile
Mike
>
> Mihael
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From hategan at mcs.anl.gov Mon Jul 14 21:15:21 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Mon, 14 Jul 2014 19:15:21 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <53C47E0D.6080609@anl.gov>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
<53C47E0D.6080609@anl.gov>
Message-ID: <1405390521.28246.41.camel@echo>
On Mon, 2014-07-14 at 20:04 -0500, Michael Wilde wrote:
> On 7/14/14, 1:00 PM, Mihael Hategan wrote:
> > The first question is whether ~/.swift/swift.conf and ./swift.conf
> > should be explicitly in the search path, since SWIFT_SITE_CONF can do
> > both:
> >
> > export SWIFT_SITE_CONF=~/.swift/swift.conf
> > export SWIFT_SITE_CONF=./swift.conf
> This variable was intended specifically for shared site definitions, to
> be provided by the group that administers Swift on the site (eg, like
> the RCC team), for use by all Swift users at the location.
Ok. I'm assuming the intent was for this to always be loaded by swift if
the environment variable is present, no matter what the user says in
other places. It could be disabled if really needed by unsetting the
env. var.
>
> If its value can only be a single filename, it can not serve this
> site-wide role in addition to the two alternative roles you show above:
> personal settings (~/.swift/swift.conf), and run-specific settings
> (./swift.conf). This variable can only serve one of these three roles.
Right. Although the user could include a site wide configuration, but
that would not closely match the intent of it (i.e. a site-imposed
setting). I think there is agreement here that this should stay, and
should be loaded after etc/swift.conf.
>
> But I don't think that this is the first question. The first question
> is, should we have a search path for conf settings, and if so, what
> should it be.
I think that there is agreement that at least swift/etc/swift.conf (with
sufficient information to allow simple local execution) and
argv["-config"] and then SWIFT_SITE_CONF are all needed, so I think that
answers the question of whether there should be a search path.
>
> You indicated however that ~/.swift/swift.conf remains in use for
> personal settings. That's good.
Sorry. Not currently. This was one of the things that was under
question. So should we still have it? Should we instead leave it as an
option to be included by the user from a more specific configuration
file?
This was in a sense intended as a site-wide configuration (for a given
user), so I felt, perhaps wrongly, that it did overlap with
SWIFT_SITE_CONF.
[...]
>
> So the first point to discuss is in fact do we retain or remove the 0.95
> notion that properties that apply to a specific script can be placed
> alongside the script with no additional arguments on the swift command.
> Because that is, from considerable experience, the way most users use
> swift. Ive been creating a .cf file and specifying "-config cf" for many
> many years. Its just a question of whether virtually every swift
> invocation will continue to need to specify -config or not.
3x the problem until recently: sites, tc, and config.
I personally didn't care. I wrote a simple run script, so I also didn't
have to type the swift script name every time. Though in both cases, I
just type once, and then use the command line history.
>
> If the argument is that the user might mis-spell the name of the
> ./swift.conf file, and perform a run with differet properties than were
> intended, I think thats a weak argument for removing this feature. The
> user could just as easily mis-spell ~/.swift/swift.conf.
That's correct. Though it would be a less frequent problem, since it is
one file vs. many. Same for ./.bashrc, ./.emacs. I agree that ~/. files
are standard practice. Implicit files in the current directory, less so,
with, perhaps the exception of make.
However the argument was an example that was trying to illustrate that
silent automated choices are prone to subtle yet hard to troubleshoot
problems. The benefits may outweigh the risk. I don't really know. I'd
generally go with safety if it's only slightly less costly than the lack
of it. But it's personal preference.
> An emacs user
> could mispell ~/.emacs or ~/.bashrc and the intended file would also be
> silently ignored. But there's a strong precedent for implicitly assumed
> config filenames in a variety of locations, and I think ./swift.conf
> calls into that same category.
>
> One option is to add a property that specifies whether a default
> per-script config file is read. This would be typically then specified
> by the user (or the tutorial setup) in ~/.swift/swift.conf. E.g.:
> perScriptConfig: ./swift.conf
This is easy to do by >include ${env.PWD}/swift.conf< in
~/.swift/swift.conf, with no addition of a new property.
But see Tim's comments about including it from PWD vs. where the swift
script is.
>
> If we need to keep specifying -config, I can live with that. I'm more
> concerned that, in swift tutorials, simple things be simple. I like the
> simplicity of saying "swift part06.swift".
I think both etc/switf.conf and SWIFT_SITE_CONF are suitable for this.
This is not a statement against ./swift.conf, just an observation.
Mihael
From hategan at mcs.anl.gov Mon Jul 14 21:56:17 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Mon, 14 Jul 2014 19:56:17 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <53C48D65.1000008@anl.gov>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
<1405368398.25594.7.camel@echo>
<1405373372.26058.30.camel@echo> <53C48D65.1000008@anl.gov>
Message-ID: <1405392977.28246.62.camel@echo>
On Mon, 2014-07-14 at 21:09 -0500, Michael Wilde wrote:
[...]
> We could add properties that you could specify in ~/.swift or higher:
> e.g., noSwiftConfFile, noSwiftScriptFile, etc.
I believe that there is a bit of technical difficulty there. A loaded
configuration is only fully defined when all the files have been loaded
(to allow all overrides to happen). These options would only be
available after all the files have been read, at which point the
decision of what was read had already been made.
It may be possible to define specific semantics for these options. For
example that they would apply as soon as the line is parsed, but,
again... technically difficult and the different classes of properties
raise some flags in my head.
[...]
>
> so we have this implicit search path by default:
>
> releaseConf=$SWIFT_HOME/etc/swift.conf
> siteConf=$SWIFT_SITE_CONF
> userConf=$HOME/.swift/swift.conf
While we're at it, but not worth a long discussion, should we have a
directory (.swift) for what is essentially a single file instead of
~/.swift.conf?
> runConf=$PWD/swift.conf
>
> and these command line options:
>
> -config
> -specific-properties
OK. Sounds reasonable. Combined with logging of the list of files used,
and the final property list with location for each one of them, this
should make troubleshooting easy.
I'd say -listconfig should only list the files used and state that a
full list of properties is available in the log file. This is to make
the output of -listconfig manageable and take care of the case where
users would not have otherwise checked the log.
>
> To allow the default search path to be overridden on the command line,
> we can permit:
>
> -config file1:file2:...:fileN # use these config files to replace runConf
This is equivalent to including file2...fileN from file1 . I'd vote
against having features that do what can be reasonably done by existing
features.
> -reconfig file:file2:...:fileN # use these config files to replace all
> implicit config (including Swift's built-in defaults)
I think that this can also be achieved by a combination of -no*Conf and
-config + includes, so maybe we want to leave it at that? Makes both
testing and documentation simpler.
>
> -noReleaseConf -noSiteConf -noUserConf -noRunConf # use these flags to
> remove implicit config files from config path
I think these address Tim's question about disabling configs quite well.
[...]
Mihael
From iraicu at cs.iit.edu Tue Jul 15 09:19:04 2014
From: iraicu at cs.iit.edu (Ioan Raicu)
Date: Tue, 15 Jul 2014 09:19:04 -0500
Subject: [Swift-devel] Call for Papers: IEEE Transactions on Cloud Computing
- Special Issue on Scientific Cloud Computing (deadline Jul 31, 2014)
Message-ID: <53C53858.9000904@cs.iit.edu>
Dear colleagues,
This is just a friendly reminder about the upcoming deadline (July 31st,
2014) for the special issue on Scientific Cloud Computing.
-------------------------------------------------------------------------------
Call for Papers
IEEE Transactions on Cloud Computing
Special Issue on Scientific Cloud Computing
http://datasys.cs.iit.edu/events/ScienceCloud2014-TCC/
-------------------------------------------------------------------------------
IMPORTANT DATES
Paper Submissions Due: July 31, 2014
First Round Decision: September 30,2014
Major Revisions Due (if necessary): October 31, 2014
Final Decision: December 1, 2014
Journal Publication: TBD
-------------------------------------------------------------------------------
OVERVIEW
Computational and Data-Driven Sciences have become the third and fourth pillar
of scientific discovery in addition to experimental and theoretical sciences.
Scientific Computing has already begun to change how science is done, enabling
scientific breakthroughs through new kinds of experiments that would have been
impossible only a decade ago. It is the key to solving "grand challenges" in
many domains and providing breakthroughs in new knowledge, and it comes in many
shapes and forms: high-performance computing (HPC) which is heavily focused on
compute-intensive applications; high-throughput computing (HTC) which focuses
on using many computing resources over long periods of time to accomplish its
computational tasks; many-task computing (MTC) which aims to bridge the gap
between HPC and HTC by focusing on using many resources over short periods of
time; and data-intensive computing which is heavily focused on data
distribution, data-parallel execution, and harnessing data locality by
scheduling of computations close to the data. Today's "Big Data" trend is
generating datasets that are increasing exponentially in both complexity and
volume, making their analysis, archival, and sharing one of the grand
challenges of the 21st century. Not surprisingly, it becomes increasingly
difficult to design and operate large scale systems capable of addressing these
grand challenges.
This journal Special Issue on Scientific Cloud Computing in the IEEE
Transaction on Cloud Computing will provide the scientific community a
dedicated forum for discussing new research, development, and deployment
efforts in running these kinds of scientific computing workloads on Cloud
Computing infrastructures. This special issue will focus on the use of
cloud-based technologies to meet new compute-intensive and data-intensive
scientific challenges that are not well served by the current supercomputers,
grids and HPC clusters. The special issue will aim to address questions such
as: What architectural changes to the current cloud frameworks (hardware,
operating systems, networking and/or programming models) are needed to support
science? Dynamic information derived from remote instruments and coupled
simulation, and sensor ensembles that stream data for real-time analysis are
important emerging techniques in scientific and cyber-physical engineering
systems. How can cloud technologies enable and adapt to these new scientific
approaches dealing with dynamism? How are scientists using clouds? Are there
scientific HPC/HTC/MTC workloads that are suitable candidates to take advantage
of emerging cloud computing resources with high efficiency? Commercial public
clouds provide easy access to cloud infrastructure for scientists. What are the
gaps in commercial cloud offerings and how can they be adapted for running
existing and novel eScience applications? What benefits exist by adopting the
cloud model, over clusters, grids, or supercomputers? What factors are limiting
clouds use or would make them more usable/efficient?
-------------------------------------------------------------------------------
TOPICS
The topics of interest are, but not limited to, the application of Cloud in
scientific applications:
? Scientific application cases studies on Clouds
? Performance evaluation of Cloud technologies
? Fault tolerance and reliability in cloud systems
? Data-intensive workloads and tools on Clouds
? Programming models such as Map-Reduce
? Storage cloud architectures
? I/O and Data management in the Cloud
? Workflow and resource management in the Cloud
? NoSQL databases for scientific applications
? Data streaming and dynamic applications on Clouds
? Dynamic resource provisioning
? Many-Task Computing in the Cloud
? Application of cloud concepts in HPC environments
? Virtualized High performance parallel file systems
? Virtualized high performance I/O networks
? Virtualization and its Impact on Applications
? Distributed Operating Systems
? Many-core computing and accelerators in the Cloud
? Cloud security
-------------------------------------------------------------------------------
SUBMISSION INSTRUCTIONS
Authors are invited to submit papers with unpublished, original work to the
IEEE Transactions on Cloud Computing, Special Issue on Scientific Cloud
Computing. If the paper is extended from a workshop or conference paper, it
must contain at least 50% new material with "brand" new ideas and results. The
papers should not be longer than 14 double column pages in the IEEE TCC format.
Papers should be submitted directly to TCC at
https://mc.manuscriptcentral.com/tcc-cs, and "SI-ScienceCloud" should be
selected.
-------------------------------------------------------------------------------
ORGANIZERS
? Kate Keahey, University of Chicago & Argonne National Laboratory, USA
? Ioan Raicu, Illinois Institute of Technology & Argonne National Lab., USA
? Kyle Chard, University of Chicago & Argonne National Laboratory, USA
? Bogdan Nicolae, IBM Research, Ireland
-------------------------------------------------------------------------------
CONTACT
Email:sciencecloud2014-tcc-editors at datasys.cs.iit.edu
Website:http://datasys.cs.iit.edu/events/ScienceCloud2014-TCC/
----------------------
--
=================================================================
Ioan Raicu, Ph.D.
Assistant Professor, Illinois Institute of Technology (IIT)
Guest Research Faculty, Argonne National Laboratory (ANL)
=================================================================
Data-Intensive Distributed Systems Laboratory, CS/IIT
Distributed Systems Laboratory, MCS/ANL
=================================================================
Editor: IEEE TCC, Springer Cluster, Springer JoCCASA
Chair: IEEE/ACM MTAGS, ACM ScienceCloud
=================================================================
Cel: 1-847-722-0876
Office: 1-312-567-5704
Email: iraicu at cs.iit.edu
Web: http://www.cs.iit.edu/~iraicu/
Web: http://datasys.cs.iit.edu/
LinkedIn: http://www.linkedin.com/in/ioanraicu
Google: http://scholar.google.com/citations?user=jE73HYAAAAAJ
=================================================================
=================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Wed Jul 16 01:04:12 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Tue, 15 Jul 2014 23:04:12 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405392977.28246.62.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
<1405368398.25594.7.camel@echo>
<1405373372.26058.30.camel@echo> <53C48D65.1000008@anl.gov>
<1405392977.28246.62.camel@echo>
Message-ID: <1405490652.15732.23.camel@echo>
Hi,
I'll be in New York for the remainder of the week and returning Monday
(21st). I might sporadically work on this, but in all likelihood commits
will come after that. However, I wanted so sync on the latest spec:
* releaseConf=$SWIFT_HOME/etc/swift.conf
siteConf=$SWIFT_SITE_CONF (if $SWIFT_SITE_CONF defined)
userConf=$HOME/.swift/swift.conf (if present)
runConf=$PWD/swift.conf (if present)
-config
* The configs should be chained automatically.
* Documentation updated, in particular copying and updating the 0.95
section on the search path and documenting swift-convert-config and how
to migrate from pre-0.95 files. The tool should also be updated to
accept and convert 0.95 configs.
* -noReleaseConf, -noSiteConf, -noUserConf, -noRunConf command-line
flags to be added. Please comment on the equivalent properties and the
difficulty in implementing them. If you feel it's important, it might be
worth conquering those difficulties.
* line numbers for properties in -listconfig and log.
Things that might still merit some discussion:
* -listconfig (this is a proposal to add a parameter to
-listconfig that specifies whether only a list of files or a list of
files and all options should be printed).
* Also please comment on the -config file vs. -config file1:file2... and
the need for -reconfig. I can't quite tell whether these were meant to
be discussed or not, and if yes, where we are with that.
- another question is whether we want properties (in -listconfig and
log) to be printed as a flat set of dotted properties or grouped. In
other words:
site.one.workDirectory = ..
site.one.staging = ...
or
site.one {
workDirectory = ...
staging = ...
}
Mihael
From yadunand at uchicago.edu Wed Jul 16 01:17:39 2014
From: yadunand at uchicago.edu (Yadu Nand Babuji)
Date: Wed, 16 Jul 2014 01:17:39 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405490652.15732.23.camel@echo>
References: <53C2AD4B.9030605@anl.gov>
<1405274479.16177.13.camel@echo> <53C30217.20501@anl.gov>
<1405294638.17861.33.camel@echo> <1405302915.18573.37.camel@echo>
<53C33980.1070608@anl.gov> <1405304745.18573.63.camel@echo>
<53C34009.9010302@anl.gov> <1405306957.18573.85.camel@echo>
<1405360828.24817.6.camel@echo> <1405368398.25594.7.camel@echo> <1405373372.26058.30.camel@echo>
<53C48D65.1000008@anl.gov> <1405392977.28246.62.camel@echo>
<1405490652.15732.23.camel@echo>
Message-ID: <53C61903.3040903@uchicago.edu>
Hi Mihael,
Does the new config allow you to specify multiple sites in the
swift.conf and select the site you want to run on from the swift
commandline.
I searched the swift-trunk userguide, but did not see any reference to this.
The 0.95 tutorials, which I think are the cleanest our tutorials have
been, let you select the site(s) you want to run on and the
swift.properties sets a default site(s) to use in case no commandline
option is given for site
swift.properties:
# default site is local
site=local
site.beagle-remote {
}
site.local {
}
Thanks,
Yadu
On 07/16/2014 01:04 AM, Mihael Hategan wrote:
> Hi,
>
> I'll be in New York for the remainder of the week and returning Monday
> (21st). I might sporadically work on this, but in all likelihood commits
> will come after that. However, I wanted so sync on the latest spec:
>
> * releaseConf=$SWIFT_HOME/etc/swift.conf
> siteConf=$SWIFT_SITE_CONF (if $SWIFT_SITE_CONF defined)
> userConf=$HOME/.swift/swift.conf (if present)
> runConf=$PWD/swift.conf (if present)
> -config
>
> * The configs should be chained automatically.
>
> * Documentation updated, in particular copying and updating the 0.95
> section on the search path and documenting swift-convert-config and how
> to migrate from pre-0.95 files. The tool should also be updated to
> accept and convert 0.95 configs.
>
> * -noReleaseConf, -noSiteConf, -noUserConf, -noRunConf command-line
> flags to be added. Please comment on the equivalent properties and the
> difficulty in implementing them. If you feel it's important, it might be
> worth conquering those difficulties.
>
> * line numbers for properties in -listconfig and log.
>
> Things that might still merit some discussion:
>
> * -listconfig (this is a proposal to add a parameter to
> -listconfig that specifies whether only a list of files or a list of
> files and all options should be printed).
>
> * Also please comment on the -config file vs. -config file1:file2... and
> the need for -reconfig. I can't quite tell whether these were meant to
> be discussed or not, and if yes, where we are with that.
>
> - another question is whether we want properties (in -listconfig and
> log) to be printed as a flat set of dotted properties or grouped. In
> other words:
>
> site.one.workDirectory = ..
> site.one.staging = ...
>
> or
>
> site.one {
> workDirectory = ...
> staging = ...
> }
>
> Mihael
>
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From wilde at anl.gov Wed Jul 16 14:14:13 2014
From: wilde at anl.gov (Michael Wilde)
Date: Wed, 16 Jul 2014 14:14:13 -0500
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <1405490652.15732.23.camel@echo>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
<1405368398.25594.7.camel@echo>
<1405373372.26058.30.camel@echo> <53C48D65.1000008@anl.gov>
<1405392977.28246.62.camel@echo> <1405490652.15732.23.camel@echo>
Message-ID: <53C6CF05.3020402@anl.gov>
On 7/16/14, 1:04 AM, Mihael Hategan wrote:
> Hi,
>
> I'll be in New York for the remainder of the week and returning Monday
> (21st). I might sporadically work on this, but in all likelihood commits
> will come after that. However, I wanted so sync on the latest spec:
>
> * releaseConf=$SWIFT_HOME/etc/swift.conf
> siteConf=$SWIFT_SITE_CONF (if $SWIFT_SITE_CONF defined)
> userConf=$HOME/.swift/swift.conf (if present)
> runConf=$PWD/swift.conf (if present)
> -config
...and then specific command line options. Should all conf options be
allowed, exactly as in the conf file? Or just all "scalar" options?
Should we move to a -D notation for specifying conf options on the
command line, or leave as-is?
> * The configs should be chained automatically.
>
> * Documentation updated, in particular copying and updating the 0.95
> section on the search path and documenting swift-convert-config and how
> to migrate from pre-0.95 files. The tool should also be updated to
> accept and convert 0.95 configs.
>
> * -noReleaseConf, -noSiteConf, -noUserConf, -noRunConf command-line
> flags to be added. Please comment on the equivalent properties and the
> difficulty in implementing them. If you feel it's important, it might be
> worth conquering those difficulties.
Lets drop these. On re-consideration, they seem too complex.
>
> * line numbers for properties in -listconfig and log.
Good idea.
>
> Things that might still merit some discussion:
>
> * -listconfig (this is a proposal to add a parameter to
> -listconfig that specifies whether only a list of files or a list of
> files and all options should be printed).
sounds ok
>
> * Also please comment on the -config file vs. -config file1:file2... and
> the need for -reconfig. I can't quite tell whether these were meant to
> be discussed or not, and if yes, where we are with that.
How about the following alternative to the above:
-config file replaces $PWD/swift.conf in the search path
-configpath file:file:file replaces the full search path with the
specified path
SWIFT_CONF_PATH env var does the same thing as -configpath
This seems simpler. Either accept the default search path, or specify
your own.
There may be a few interactions between these that we would need to
fully specify, but it seems like the right track.
For now, Im happy with just "-config file". The other two could be done
at a later time.
>
> - another question is whether we want properties (in -listconfig and
> log) to be printed as a flat set of dotted properties or grouped. In
> other words:
>
> site.one.workDirectory = ..
> site.one.staging = ...
>
> or
>
> site.one {
> workDirectory = ...
> staging = ...
> }
The second is nicer; the first seems easier to code. Both are OK for now.
- Mike
>
> Mihael
>
>
>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From yadunand at uchicago.edu Wed Jul 16 17:36:40 2014
From: yadunand at uchicago.edu (Yadu Nand Babuji)
Date: Wed, 16 Jul 2014 17:36:40 -0500
Subject: [Swift-devel] Notes from trying new config
Message-ID: <53C6FE78.4000901@uchicago.edu>
Hi
I just tried to run some test scripts using trunk and these are my
observations:
I copied the swift.conf file from the configuration section in the trunk
userguide.
1. I got an error about lazy.errors=false. Found that lazy.errors has
been replaces by lazyErrors. Minor doc mismatch here.
2. Then I got a swift.conf:2 missing mandatory property
'site.local.workDirectory'
3. Then this -> swift.conf:2 missing mandatory property
'site.local.filesystem.type'
- This one is missing documentation as well.
I like that there are sensible error messages, but at the same time I
feel that the config file has gotten a bit more verbose
that the 0.95 swift.properties. I really like the 0.95 feature where you
could have several sites defined in your config file, and
then you choose what sites to run on from the commandline using
-sites=. This makes the commandline very
simple and helps with tutorials and demos.
I could not get past this error once it looked like the config was fixed.
swift -config swift.conf sanity.swift
Swift trunk swift-r8021 cog-r4025 (cog modified locally)
RunID: run014
Could not start execution:
Import of 'swift.k' failed, import @ sanity.kml, line: 5:
Invalid node definition class:
org.griphyn.vdl.karajan.lib.Mapping$Cons, def @ swift.k, line: 91:
org.griphyn.vdl.karajan.lib.Mapping$Cons
-Yadu
From hategan at mcs.anl.gov Wed Jul 16 22:23:00 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Wed, 16 Jul 2014 20:23:00 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <53C61903.3040903@uchicago.edu>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
<1405368398.25594.7.camel@echo>
<1405373372.26058.30.camel@echo> <53C48D65.1000008@anl.gov>
<1405392977.28246.62.camel@echo> <1405490652.15732.23.camel@echo>
<53C61903.3040903@uchicago.edu>
Message-ID: <1405567380.18846.6.camel@echo>
On Wed, 2014-07-16 at 01:17 -0500, Yadu Nand Babuji wrote:
> Hi Mihael,
>
> Does the new config allow you to specify multiple sites in the
> swift.conf and select the site you want to run on from the swift
> commandline.
Yes. Site declaration and site selection are separate, like in 0.95
> I searched the swift-trunk userguide, but did not see any reference to this.
Thanks for pointing that out. This is explained in Table 7 (General
Swift Options), but it clearly needs to be mentioned in the site
declaration section.
Mihael
From wilde at anl.gov Fri Jul 18 13:57:47 2014
From: wilde at anl.gov (Michael Wilde)
Date: Fri, 18 Jul 2014 13:57:47 -0500
Subject: [Swift-devel] Error in 0.95 RC6 with wrapper.parameter.mode=files
Message-ID: <53C96E2B.50708@anl.gov>
In 0.95 RC6, I suspect we have a bug in handling
wrapper.parameter.mode=files
WIth this set in swift.properties, a user Im working with is getting the
error below.
Yadu, can you do a quick test to replicate this?
Thanks,
- Mike
---
java.lang.UnsupportedOperationException
sys:file:write @ swift-int.k, line: 392
Caused by: java.lang.UnsupportedOperationException
at
org.globus.cog.karajan.analyzer.ChannelRef$Return.set(ChannelRef.java:88)
at
org.globus.cog.karajan.compiled.nodes.FileWrite.runBody(FileWrite.java:62)
at
org.globus.cog.karajan.compiled.nodes.InternalFunction.run(InternalFunction.java:153)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at org.globus.cog.karajan.compiled.nodes.If.run(If.java:165)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.grid.AllocateHost.runBody(AllocateHost.java:78)
at
org.globus.cog.karajan.compiled.nodes.InternalFunction.run(InternalFunction.java:153)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.user.Function.runBody(Function.java:99)
at
org.globus.cog.karajan.compiled.nodes.user.InvocationWrapper.runBody(InvocationWrapper.java:246)
at
org.globus.cog.karajan.compiled.nodes.user.InvocationWrapper.run(InvocationWrapper.java:69)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at org.globus.cog.karajan.compiled.nodes.Try.run(Try.java:52)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.RestartOnErrorNode.runBody(RestartOnErrorNode.java:62)
at
org.globus.cog.karajan.compiled.nodes.InternalFunction.run(InternalFunction.java:153)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at org.griphyn.vdl.karajan.lib.Throttled.run(Throttled.java:62)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at org.globus.cog.karajan.compiled.nodes.Try.run(Try.java:52)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at org.globus.cog.karajan.compiled.nodes.If.run(If.java:165)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at org.globus.cog.karajan.compiled.nodes.If.run(If.java:165)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.user.Function.runBody(Function.java:99)
at
org.globus.cog.karajan.compiled.nodes.user.InvocationWrapper.runBody(InvocationWrapper.java:246)
at
org.globus.cog.karajan.compiled.nodes.user.InvocationWrapper.run(InvocationWrapper.java:69)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.user.Function.runBody(Function.java:99)
at
org.globus.cog.karajan.compiled.nodes.user.InvocationWrapper.runBody(InvocationWrapper.java:246)
at
org.globus.cog.karajan.compiled.nodes.user.InvocationWrapper.run(InvocationWrapper.java:69)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)
at
org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)
at
org.griphyn.vdl.karajan.lib.ThrottledParallelFor$1.run(ThrottledParallelFor.java:196)
at k.thr.LWThread.run(LWThread.java:228)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
From wozniak at mcs.anl.gov Fri Jul 18 16:19:04 2014
From: wozniak at mcs.anl.gov (Justin M Wozniak)
Date: Fri, 18 Jul 2014 16:19:04 -0500
Subject: [Swift-devel] Swift/T WWW to swift-lang.org
Message-ID: <53C98F48.2070805@mcs.anl.gov>
Hi
I brought the Swift/T content into the CI WWW directories. A
preview is here:
http://web.ci.uchicago.edu/~wozniak/swift-www/main
If there are no issues, I will post this to the live site.
Justin
--
Justin M Wozniak
From wilde at anl.gov Fri Jul 18 16:32:09 2014
From: wilde at anl.gov (Michael Wilde)
Date: Fri, 18 Jul 2014 16:32:09 -0500
Subject: [Swift-devel] Swift/T WWW to swift-lang.org
In-Reply-To: <53C98F48.2070805@mcs.anl.gov>
References: <53C98F48.2070805@mcs.anl.gov>
Message-ID: <53C99259.4030508@anl.gov>
This looks great, Justin. I'd go ahead and post.
It might be handy to also post a link to the Leaf-writers guide from the
main page (a 3rd blue button?) in addition to the link to that guide
from the Leaf section of the User Guide.
- Mike
On 7/18/14, 4:19 PM, Justin M Wozniak wrote:
> Hi
> I brought the Swift/T content into the CI WWW directories. A
> preview is here:
>
> http://web.ci.uchicago.edu/~wozniak/swift-www/main
>
> If there are no issues, I will post this to the live site.
>
> Justin
>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From wilde at anl.gov Fri Jul 18 16:37:57 2014
From: wilde at anl.gov (Michael Wilde)
Date: Fri, 18 Jul 2014 16:37:57 -0500
Subject: [Swift-devel] Swift/T WWW to swift-lang.org
In-Reply-To: <53C99259.4030508@anl.gov>
References: <53C98F48.2070805@mcs.anl.gov> <53C99259.4030508@anl.gov>
Message-ID: <53C993B5.1090204@anl.gov>
Also, are we ready to post (at least prelim) main-wrapping info,
possible as a section of the Leaf Writers Guide?
- Mike
On 7/18/14, 4:32 PM, Michael Wilde wrote:
> This looks great, Justin. I'd go ahead and post.
>
> It might be handy to also post a link to the Leaf-writers guide from the
> main page (a 3rd blue button?) in addition to the link to that guide
> from the Leaf section of the User Guide.
>
> - Mike
>
> On 7/18/14, 4:19 PM, Justin M Wozniak wrote:
>> Hi
>> I brought the Swift/T content into the CI WWW directories. A
>> preview is here:
>>
>> http://web.ci.uchicago.edu/~wozniak/swift-www/main
>>
>> If there are no issues, I will post this to the live site.
>>
>> Justin
>>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From wilde at anl.gov Fri Jul 18 16:41:49 2014
From: wilde at anl.gov (Michael Wilde)
Date: Fri, 18 Jul 2014 16:41:49 -0500
Subject: [Swift-devel] Swift/T WWW to swift-lang.org
In-Reply-To: <53C993B5.1090204@anl.gov>
References: <53C98F48.2070805@mcs.anl.gov> <53C99259.4030508@anl.gov>
<53C993B5.1090204@anl.gov>
Message-ID: <53C9949D.2060507@anl.gov>
Also feel free to make the link to Swift/T in the main page more prominent.
Where it says:
What's New
NEXT GENERATION SWIFT
*Swift/T*runs millions of tasks per second on supercomputers.
Minimally, "Swift/T" above can be made into a nice blue link (to
/Swift-T, same as "learn more" below that text)
- Mike
On 7/18/14, 4:37 PM, Michael Wilde wrote:
> Also, are we ready to post (at least prelim) main-wrapping info,
> possible as a section of the Leaf Writers Guide?
>
> - Mike
>
> On 7/18/14, 4:32 PM, Michael Wilde wrote:
>> This looks great, Justin. I'd go ahead and post.
>>
>> It might be handy to also post a link to the Leaf-writers guide from the
>> main page (a 3rd blue button?) in addition to the link to that guide
>> from the Leaf section of the User Guide.
>>
>> - Mike
>>
>> On 7/18/14, 4:19 PM, Justin M Wozniak wrote:
>>> Hi
>>> I brought the Swift/T content into the CI WWW directories. A
>>> preview is here:
>>>
>>> http://web.ci.uchicago.edu/~wozniak/swift-www/main
>>>
>>> If there are no issues, I will post this to the live site.
>>>
>>> Justin
>>>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From wilde at anl.gov Sat Jul 19 10:05:50 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sat, 19 Jul 2014 10:05:50 -0500
Subject: [Swift-devel] {env.HOME} not working in sites file in 0.95-RC6 ?
Message-ID: <53CA894E.7020308@anl.gov>
It seems like, in 0.95-RC6, "{ }" substitution in sites.xml does not work.
A run with this fails:
{env.HOME}/swiftwork
while this works:
/clhome/WILDE/swiftwork
I'll need to isolate a simple test case, and search bugzilla, but was
wondering if this is a known issue?
Is it tested in the test suite?
Thanks,
- Mike
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
From davidkelly at uchicago.edu Sat Jul 19 13:01:34 2014
From: davidkelly at uchicago.edu (David Kelly)
Date: Sat, 19 Jul 2014 13:01:34 -0500
Subject: [Swift-devel] {env.HOME} not working in sites file in 0.95-RC6 ?
In-Reply-To: <53CA894E.7020308@anl.gov>
References: <53CA894E.7020308@anl.gov>
Message-ID:
Hi Mike,
Environment variables in sites.xml no longer works in 0.95. There was a
brief discussion about it in
https://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=423.
The test suite uses sed to replace {env.*} values, so I don't think it gets
tested directly.
On Sat, Jul 19, 2014 at 10:05 AM, Michael Wilde wrote:
> It seems like, in 0.95-RC6, "{ }" substitution in sites.xml does not work.
>
> A run with this fails:
>
> {env.HOME}/swiftwork
>
> while this works:
>
> /clhome/WILDE/swiftwork
>
> I'll need to isolate a simple test case, and search bugzilla, but was
> wondering if this is a known issue?
>
> Is it tested in the test suite?
>
> Thanks,
>
> - Mike
>
> --
> Michael Wilde
> Mathematics and Computer Science Computation Institute
> Argonne National Laboratory The University of Chicago
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From wilde at anl.gov Sat Jul 19 13:16:32 2014
From: wilde at anl.gov (Michael Wilde)
Date: Sat, 19 Jul 2014 13:16:32 -0500
Subject: [Swift-devel] {env.HOME} not working in sites file in 0.95-RC6 ?
In-Reply-To:
References: <53CA894E.7020308@anl.gov>
Message-ID: <53CAB600.2070607@anl.gov>
Thanks, David. Indeed, that ticket clarifies the situation.
I see that 0.95 config allows eg "workdir=/scratch/midway/$USER/work" in
the new-format config files, and that trunk/0.96 config allows ${env.PATH}
This will affect users of 0.95 that had { } expansion in their 0.94
legacy xml-format sites files (which is the situation Im dealing with
now). But we can work around this with documentation and support.
- Mike
On 7/19/14, 1:01 PM, David Kelly wrote:
> Hi Mike,
>
> Environment variables in sites.xml no longer works in 0.95. There was
> a brief discussion about it in
> https://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=423.
>
> The test suite uses sed to replace {env.*} values, so I don't think it
> gets tested directly.
>
>
> On Sat, Jul 19, 2014 at 10:05 AM, Michael Wilde > wrote:
>
> It seems like, in 0.95-RC6, "{ }" substitution in sites.xml does
> not work.
>
> A run with this fails:
>
> {env.HOME}/swiftwork
>
> while this works:
>
> /clhome/WILDE/swiftwork
>
> I'll need to isolate a simple test case, and search bugzilla, but was
> wondering if this is a known issue?
>
> Is it tested in the test suite?
>
> Thanks,
>
> - Mike
>
> --
> Michael Wilde
> Mathematics and Computer Science Computation Institute
> Argonne National Laboratory The University of Chicago
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From wozniak at mcs.anl.gov Mon Jul 21 10:27:17 2014
From: wozniak at mcs.anl.gov (Justin M Wozniak)
Date: Mon, 21 Jul 2014 10:27:17 -0500
Subject: [Swift-devel] Swift/T WWW to swift-lang.org
In-Reply-To: <53C993B5.1090204@anl.gov>
References: <53C98F48.2070805@mcs.anl.gov> <53C99259.4030508@anl.gov>
<53C993B5.1090204@anl.gov>
Message-ID: <53CD3155.3020206@mcs.anl.gov>
Yes- we'll add it as another example.
On 7/18/2014 4:37 PM, Michael Wilde wrote:
> Also, are we ready to post (at least prelim) main-wrapping info,
> possible as a section of the Leaf Writers Guide?
>
> - Mike
>
> On 7/18/14, 4:32 PM, Michael Wilde wrote:
>> This looks great, Justin. I'd go ahead and post.
>>
>> It might be handy to also post a link to the Leaf-writers guide from the
>> main page (a 3rd blue button?) in addition to the link to that guide
>> from the Leaf section of the User Guide.
>>
>> - Mike
>>
>> On 7/18/14, 4:19 PM, Justin M Wozniak wrote:
>>> Hi
>>> I brought the Swift/T content into the CI WWW directories. A
>>> preview is here:
>>>
>>> http://web.ci.uchicago.edu/~wozniak/swift-www/main
>>>
>>> If there are no issues, I will post this to the live site.
>>>
>>> Justin
>>>
--
Justin M Wozniak
From iraicu at cs.iit.edu Wed Jul 23 16:23:56 2014
From: iraicu at cs.iit.edu (Ioan Raicu)
Date: Wed, 23 Jul 2014 16:23:56 -0500
Subject: [Swift-devel] CFP: 1st International Workshop on Collaborative
methodologies to Accelerate Scientific Knowledge discovery in big data
(CASK) 2014 @ IEEE BigData 2014
Message-ID: <53D027EC.70108@cs.iit.edu>
Call for Papers
-------------------------------------------------------------------------------
1st International Workshop on Collaborative methodologies to Accelerate
Scientific Knowledge discovery in big data (CASK) 2014
Oct 27-30, 2014, Washington DC, US
In conjunction with:
2014 IEEE International Conference on Big Data (IEEE BigData 2014)
http://bigscientificdata.org/cask14/
===============================================================================
Introduction
-------------------------------------------------------------------------------
Big Data has become an increasingly important part of life, and has become a
common buzzword used to describe many aspects of data intensive computing. One
of the unique aspects that we see to this new age of science is in terms of new
methods to collaborate and share ideas, data, and services. Service Oriented
Architectures have become commonplace in Enterprise computing, but its role in
scientific data has been often underplayed. Commonly scientists will write
software for themselves, and occasionally share their programs with their
colleagues. As computing moves to new levels of performance, by using
accelerators and many cores, one must rethink how scientific codes are produced
and move to new frameworks which promote collaboration.
In this workshop we want researchers to discuss techniques, infrastructure,
science drivers, and new ways to promote this new way of computing for
scientific applications. We will want to address fundamental issues in
workflows on and off large-scale high performance systems, clouds, IPads, and
mobile devices. Our overall view is that we can accelerate the scientific
knowledge discovery process by embracing new technologies where researchers can
share codes, workflows, data, and ultimately knowledge. Topics of interest in
this workshop will span from methods to share all aspects of code, data, and
workflows. We will investigate the topic of how do you share Big Data, when
data gets to extreme sizes. What new services need to be developed in order to
promote Big Data for science and engineering aspects? How can we get
researchers across the globe to develop shareable code and participate in the
greater science community? Just like math was a common language that
researchers could share and everyone understand, what are the new pieces of
software which must be developed in order to ensure collaboration across the
end to end lifecycle of scientific data? The workshop will provide a venue to
show what has worked across different communities, and how to bring
collaboration to new scientific communities. The workshop will bring together
DOE and NSF researchers along with researchers in the enterprise to present
papers, along with give invited talks. We will also conclude with a panel with
many leading experts in the field. We will also feature one panel which will
include experts in scientific and enterprise Big Data.
Topics
Topics of interest include, but are not limited to:
-------------------------------------------------------------------------------
* Data at Rest (Storage)
* Data in Motion (Data Streaming)
* Storage Systems (Database, file systems)
* Resource Management
* Query and Search
* Acquisition, Integrating, Cleaning and Best Practice
* Privacy
* Provenance
* Algorithms
* Analytics
* Visualization
* Near Real-time Decision Making
* Data Fusion
* Workflows
* Programming Models (e.g. MapReduce, MPI, etc.)
Important Dates
-------------------------------------------------------------------------------
* Papers Due: September 1st, 2014
* Notification of Acceptance: September 20th, 2014
* Camera Ready Papers Due: October 5th, 2014
Paper Submission
-------------------------------------------------------------------------------
Authors are invited to submit papers electronically. Submitted manuscripts
should be structured as technical papers and may not exceed 6 letter size
(8.5 x 11) pages including figures, tables and references using the IEEE format
for conference proceedings (print area of 6-1/2 inches (16.51 cm) wide by 8-7/8
inches (22.51 cm) high, two-column format with columns 3-1/16 inches (7.85 cm)
wide with a 3/8 inch (0.81 cm) space between them, single-spaced 10-point Times
fully justified text). Submissions not conforming to these guidelines may be
returned without review. Authors should submit the manuscript in PDF format and
make sure that the file will print on a printer that uses letter size (8.5 x 11)
paper. The official language of the meeting is English. All manuscripts will be
reviewed and will be judged on correctness, originality, technical strength,
significance, quality of presentation, and interest and relevance to the
conference attendees. Papers conforming to the above guidelines can be
submitted through the CASK 2014 paper submission system
(https://cmt.research.microsoft.com/CASK2014).
Submitted papers must represent original unpublished research that is not
currently under review for any other conference or journal. Papers not
following these guidelines will be rejected without review and further action
may be taken, including (but not limited to) notifications sent to the heads of
the institutions of the authors and sponsors of the conference. Submissions
received after the due date, exceeding length limit, or not appropriately
structured may also not be considered. Authors may contact the conference PC
Chair for more information. The proceedings will be published through the IEEE
Computer Society Press, USA and will be made online through the IEEE Digital
Library. Selected papers from CASK 2014 will be invited to extend and submit to
the Special Issue on Many-Task Computing in the Cloud in the IEEE Transaction on
Cloud Computing (http://datasys.cs.iit.edu/events/TCC-MTC15/CFP_TCC-MTC15.pdf).
Chairs and Committees
-------------------------------------------------------------------------------
Workshop Co-Chairs:
* Chen Jin (Palantir Technology)
* Ioan Raicu (Illinois Institute of Technology)
* Scott Klasky (Oak Ridge National Laboratory)
Program Co-Chairs:
* Raju Vatsavai (North Carolina State Univ. & Oak Ridge National Lab.)
* Judy Qiu (Indiana University)
* George Ostrouchov (Oak Ridge National Laboratory)
* Tahsin Kurc (Stony Brook University)
* Daniel S. Katz (University of Chicago)
* Bogdan Nicolae (IBM Research)
* Doug Thain (University of Notre Dame)
* Josh Wills (Cloudera)
* Zhengzhang Chen (NEC Labs)
* Kunpeng Zhang (University of Illinois at Chicago)
--
=================================================================
Ioan Raicu, Ph.D.
Assistant Professor, Illinois Institute of Technology (IIT)
Guest Research Faculty, Argonne National Laboratory (ANL)
=================================================================
Data-Intensive Distributed Systems Laboratory, CS/IIT
Distributed Systems Laboratory, MCS/ANL
=================================================================
Editor: IEEE TCC, Springer Cluster, Springer JoCCASA
Chair: IEEE/ACM MTAGS, ACM ScienceCloud
=================================================================
Cel: 1-847-722-0876
Office: 1-312-567-5704
Email: iraicu at cs.iit.edu
Web: http://www.cs.iit.edu/~iraicu/
Web: http://datasys.cs.iit.edu/
LinkedIn: http://www.linkedin.com/in/ioanraicu
Google: http://scholar.google.com/citations?user=jE73HYAAAAAJ
=================================================================
=================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Thu Jul 24 18:36:33 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Thu, 24 Jul 2014 16:36:33 -0700
Subject: [Swift-devel] Notes from trying new config
In-Reply-To: <53C6FE78.4000901@uchicago.edu>
References: <53C6FE78.4000901@uchicago.edu>
Message-ID: <1406244993.3249.0.camel@echo>
Was there ever a reply from me on this? I have one in my "Sent" folder,
but I don't see it on the mailing list.
Mihael
On Wed, 2014-07-16 at 17:36 -0500, Yadu Nand Babuji wrote:
> Hi
>
> I just tried to run some test scripts using trunk and these are my
> observations:
>
> I copied the swift.conf file from the configuration section in the trunk
> userguide.
>
> 1. I got an error about lazy.errors=false. Found that lazy.errors has
> been replaces by lazyErrors. Minor doc mismatch here.
> 2. Then I got a swift.conf:2 missing mandatory property
> 'site.local.workDirectory'
> 3. Then this -> swift.conf:2 missing mandatory property
> 'site.local.filesystem.type'
> - This one is missing documentation as well.
>
> I like that there are sensible error messages, but at the same time I
> feel that the config file has gotten a bit more verbose
> that the 0.95 swift.properties. I really like the 0.95 feature where you
> could have several sites defined in your config file, and
> then you choose what sites to run on from the commandline using
> -sites=. This makes the commandline very
> simple and helps with tutorials and demos.
>
> I could not get past this error once it looked like the config was fixed.
>
> swift -config swift.conf sanity.swift
> Swift trunk swift-r8021 cog-r4025 (cog modified locally)
> RunID: run014
> Could not start execution:
> Import of 'swift.k' failed, import @ sanity.kml, line: 5:
> Invalid node definition class:
> org.griphyn.vdl.karajan.lib.Mapping$Cons, def @ swift.k, line: 91:
> org.griphyn.vdl.karajan.lib.Mapping$Cons
>
>
> -Yadu
From hategan at mcs.anl.gov Thu Jul 24 18:38:15 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Thu, 24 Jul 2014 16:38:15 -0700
Subject: [Swift-devel] Issues to resolve for the 0.96 config mechanism
In-Reply-To: <53C6CF05.3020402@anl.gov>
References: <53C2AD4B.9030605@anl.gov> <1405274479.16177.13.camel@echo>
<53C30217.20501@anl.gov> <1405294638.17861.33.camel@echo>
<1405302915.18573.37.camel@echo> <53C33980.1070608@anl.gov>
<1405304745.18573.63.camel@echo> <53C34009.9010302@anl.gov>
<1405306957.18573.85.camel@echo> <1405360828.24817.6.camel@echo>
<1405368398.25594.7.camel@echo>
<1405373372.26058.30.camel@echo> <53C48D65.1000008@anl.gov>
<1405392977.28246.62.camel@echo> <1405490652.15732.23.camel@echo>
<53C6CF05.3020402@anl.gov>
Message-ID: <1406245095.3249.2.camel@echo>
This should now be all committed to trunk. Except for SWIFT_CONF_PATH. I
noticed I forgot about it while replying to this email.
Mihael
On Wed, 2014-07-16 at 14:14 -0500, Michael Wilde wrote:
> On 7/16/14, 1:04 AM, Mihael Hategan wrote:
> > Hi,
> >
> > I'll be in New York for the remainder of the week and returning Monday
> > (21st). I might sporadically work on this, but in all likelihood commits
> > will come after that. However, I wanted so sync on the latest spec:
> >
> > * releaseConf=$SWIFT_HOME/etc/swift.conf
> > siteConf=$SWIFT_SITE_CONF (if $SWIFT_SITE_CONF defined)
> > userConf=$HOME/.swift/swift.conf (if present)
> > runConf=$PWD/swift.conf (if present)
> > -config
> ...and then specific command line options. Should all conf options be
> allowed, exactly as in the conf file? Or just all "scalar" options?
> Should we move to a -D notation for specifying conf options on the
> command line, or leave as-is?
> > * The configs should be chained automatically.
> >
> > * Documentation updated, in particular copying and updating the 0.95
> > section on the search path and documenting swift-convert-config and how
> > to migrate from pre-0.95 files. The tool should also be updated to
> > accept and convert 0.95 configs.
> >
> > * -noReleaseConf, -noSiteConf, -noUserConf, -noRunConf command-line
> > flags to be added. Please comment on the equivalent properties and the
> > difficulty in implementing them. If you feel it's important, it might be
> > worth conquering those difficulties.
> Lets drop these. On re-consideration, they seem too complex.
> >
> > * line numbers for properties in -listconfig and log.
> Good idea.
> >
> > Things that might still merit some discussion:
> >
> > * -listconfig (this is a proposal to add a parameter to
> > -listconfig that specifies whether only a list of files or a list of
> > files and all options should be printed).
> sounds ok
> >
> > * Also please comment on the -config file vs. -config file1:file2... and
> > the need for -reconfig. I can't quite tell whether these were meant to
> > be discussed or not, and if yes, where we are with that.
> How about the following alternative to the above:
>
> -config file replaces $PWD/swift.conf in the search path
>
> -configpath file:file:file replaces the full search path with the
> specified path
>
> SWIFT_CONF_PATH env var does the same thing as -configpath
>
> This seems simpler. Either accept the default search path, or specify
> your own.
>
> There may be a few interactions between these that we would need to
> fully specify, but it seems like the right track.
>
> For now, Im happy with just "-config file". The other two could be done
> at a later time.
> >
> > - another question is whether we want properties (in -listconfig and
> > log) to be printed as a flat set of dotted properties or grouped. In
> > other words:
> >
> > site.one.workDirectory = ..
> > site.one.staging = ...
> >
> > or
> >
> > site.one {
> > workDirectory = ...
> > staging = ...
> > }
> The second is nicer; the first seems easier to code. Both are OK for now.
>
> - Mike
> >
> > Mihael
> >
> >
> >
>
From tim.g.armstrong at gmail.com Thu Jul 24 22:13:30 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Thu, 24 Jul 2014 22:13:30 -0500
Subject: [Swift-devel] Notes from trying new config
In-Reply-To: <1406244993.3249.0.camel@echo>
References: <53C6FE78.4000901@uchicago.edu>
<1406244993.3249.0.camel@echo>
Message-ID:
I don't think I saw one.
- Tim
On Thu, Jul 24, 2014 at 6:36 PM, Mihael Hategan wrote:
> Was there ever a reply from me on this? I have one in my "Sent" folder,
> but I don't see it on the mailing list.
>
> Mihael
>
> On Wed, 2014-07-16 at 17:36 -0500, Yadu Nand Babuji wrote:
> > Hi
> >
> > I just tried to run some test scripts using trunk and these are my
> > observations:
> >
> > I copied the swift.conf file from the configuration section in the trunk
> > userguide.
> >
> > 1. I got an error about lazy.errors=false. Found that lazy.errors has
> > been replaces by lazyErrors. Minor doc mismatch here.
> > 2. Then I got a swift.conf:2 missing mandatory property
> > 'site.local.workDirectory'
> > 3. Then this -> swift.conf:2 missing mandatory property
> > 'site.local.filesystem.type'
> > - This one is missing documentation as well.
> >
> > I like that there are sensible error messages, but at the same time I
> > feel that the config file has gotten a bit more verbose
> > that the 0.95 swift.properties. I really like the 0.95 feature where you
> > could have several sites defined in your config file, and
> > then you choose what sites to run on from the commandline using
> > -sites=. This makes the commandline very
> > simple and helps with tutorials and demos.
> >
> > I could not get past this error once it looked like the config was fixed.
> >
> > swift -config swift.conf sanity.swift
> > Swift trunk swift-r8021 cog-r4025 (cog modified locally)
> > RunID: run014
> > Could not start execution:
> > Import of 'swift.k' failed, import @ sanity.kml, line: 5:
> > Invalid node definition class:
> > org.griphyn.vdl.karajan.lib.Mapping$Cons, def @ swift.k, line: 91:
> > org.griphyn.vdl.karajan.lib.Mapping$Cons
> >
> >
> > -Yadu
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From yadudoc1729 at gmail.com Thu Jul 24 23:12:28 2014
From: yadudoc1729 at gmail.com (Yadu Nand)
Date: Thu, 24 Jul 2014 23:12:28 -0500
Subject: [Swift-devel] Notes from trying new config
In-Reply-To:
References: <53C6FE78.4000901@uchicago.edu> <1406244993.3249.0.camel@echo>
Message-ID:
The issues I raised are mostly resolved:
1. I don't see warnings about lazy.errors / lazyErrors,
2. I think workDirectory errors were alright, and is better off as a
required option.
3. I got the filesystem.type options for docs.
The docs also now explain how to use -sites to pick the site from the
config.
Now that Mihael is on the thread, I'd like to point out that the nesting
and braces are excessive.
In case of execution options, I don't see why there has to be a separate
group under execution. Same is the case with
jobOptions nested under options. Here's the config I'm using as an example :
site.cloud {
execution {
type:"coaster"
URL: "127.0.0.1"
jobManager: "local:ec2-cloud"
options {
maxJobs: 10
tasksPerNode: 4
workerLoggingLevel: TRACE
workerLoggingDirectory: /tmp
jobOptions {
ec2CredentialsFile:
${env.HOME}/.ssh/boto-test-credentials.csv
ec2SecurityGroup: swift_security_group1
ec2KeypairName: swift-test-pair
ec2KeypairFile: ${env.HOME}/swift-test-pair.pem
ec2WorkerImage: ami-23700813
ec2WorkerType: t1.micro
}
}
}
# Latest trunk won't run without the next two:
execution.retries: 2
wrapperlog.always.transfer: False
initialParallelTasks: 10
maxParallelTasks: 20
filesystem.type: swift
workDirectory: /tmp/swift-trunk-test
staging: "local"
app.ALL {executable: "*"}
}
sites: cloud
Thanks,
Yadu
On Thu, Jul 24, 2014 at 10:13 PM, Tim Armstrong
wrote:
> I don't think I saw one.
>
> - Tim
>
>
> On Thu, Jul 24, 2014 at 6:36 PM, Mihael Hategan
> wrote:
>
>> Was there ever a reply from me on this? I have one in my "Sent" folder,
>> but I don't see it on the mailing list.
>>
>> Mihael
>>
>> On Wed, 2014-07-16 at 17:36 -0500, Yadu Nand Babuji wrote:
>> > Hi
>> >
>> > I just tried to run some test scripts using trunk and these are my
>> > observations:
>> >
>> > I copied the swift.conf file from the configuration section in the trunk
>> > userguide.
>> >
>> > 1. I got an error about lazy.errors=false. Found that lazy.errors has
>> > been replaces by lazyErrors. Minor doc mismatch here.
>> > 2. Then I got a swift.conf:2 missing mandatory property
>> > 'site.local.workDirectory'
>> > 3. Then this -> swift.conf:2 missing mandatory property
>> > 'site.local.filesystem.type'
>> > - This one is missing documentation as well.
>> >
>> > I like that there are sensible error messages, but at the same time I
>> > feel that the config file has gotten a bit more verbose
>> > that the 0.95 swift.properties. I really like the 0.95 feature where you
>> > could have several sites defined in your config file, and
>> > then you choose what sites to run on from the commandline using
>> > -sites=. This makes the commandline very
>> > simple and helps with tutorials and demos.
>> >
>> > I could not get past this error once it looked like the config was
>> fixed.
>> >
>> > swift -config swift.conf sanity.swift
>> > Swift trunk swift-r8021 cog-r4025 (cog modified locally)
>> > RunID: run014
>> > Could not start execution:
>> > Import of 'swift.k' failed, import @ sanity.kml, line: 5:
>> > Invalid node definition class:
>> > org.griphyn.vdl.karajan.lib.Mapping$Cons, def @ swift.k, line: 91:
>> > org.griphyn.vdl.karajan.lib.Mapping$Cons
>> >
>> >
>> > -Yadu
>>
>>
>> _______________________________________________
>> Swift-devel mailing list
>> Swift-devel at ci.uchicago.edu
>> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>>
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
--
Yadu Nand B
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hategan at mcs.anl.gov Thu Jul 24 23:50:26 2014
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Thu, 24 Jul 2014 21:50:26 -0700
Subject: [Swift-devel] Notes from trying new config
In-Reply-To:
References: <53C6FE78.4000901@uchicago.edu> <1406244993.3249.0.camel@echo>
Message-ID: <1406263826.6465.22.camel@echo>
On Thu, 2014-07-24 at 23:12 -0500, Yadu Nand wrote:
> The issues I raised are mostly resolved:
>
> 1. I don't see warnings about lazy.errors / lazyErrors,
> 2. I think workDirectory errors were alright, and is better off as a
> required option.
I don't think that it being required was ever under discussion. It was
required, but you would get weird errors at run-time if it wasn't
specified, instead of when the sites file was loaded.
> 3. I got the filesystem.type options for docs.
> The docs also now explain how to use -sites to pick the site from the
> config.
>
> Now that Mihael is on the thread, I'd like to point out that the nesting
> and braces are excessive.
> In case of execution options, I don't see why there has to be a separate
> group under execution. Same is the case with
> jobOptions nested under options.
you can always say "options.maxJobs: 10" if the braces are a problem.
The reason for "options" is that they create a logical grouping for
optional tunable things for a provider or for a job, but the important
thing about them is that they are provider-specific. I wanted to
separate them from things that apply in general. For example, from
quickly looking at the list of options in 0.95, could you tell whether
the "pe" option applies to a specific provider or all swift jobs? What
about "maxSubmitRate"?
We can discuss this I guess. I thought that the main reason these were
not separated in 0.95 was because they were following the flat structure
of the pre-0.95 sites file.
As for jobOptions, it was previously providerAttributes, which accepted
a string of comma-separated key-value pairs. jobOptions is simply
re-using the existing configuration syntax instead of having its own
syntax. Logically, like jobOptions, providerAttributes was a container
for various settings. 0.95 does not address this issue. Again, I'm happy
to discuss alternatives. Though, honestly, I don't see much of a
difference in typing effort between
providerAttributes="ec2WorkerImage=ami-23700813, ec2WorkerType=t1.micro"
and
jobOptions {ec2WorkerImage: ami-23700813, ec2WorkerType: t1.micro}
Mihael
> Here's the config I'm using as an example :
>
> site.cloud {
> execution {
> type:"coaster"
> URL: "127.0.0.1"
> jobManager: "local:ec2-cloud"
> options {
> maxJobs: 10
> tasksPerNode: 4
> workerLoggingLevel: TRACE
> workerLoggingDirectory: /tmp
> jobOptions {
> ec2CredentialsFile:
> ${env.HOME}/.ssh/boto-test-credentials.csv
> ec2SecurityGroup: swift_security_group1
> ec2KeypairName: swift-test-pair
> ec2KeypairFile: ${env.HOME}/swift-test-pair.pem
> ec2WorkerImage: ami-23700813
> ec2WorkerType: t1.micro
> }
> }
> }
>
> # Latest trunk won't run without the next two:
> execution.retries: 2
> wrapperlog.always.transfer: False
>
> initialParallelTasks: 10
> maxParallelTasks: 20
> filesystem.type: swift
> workDirectory: /tmp/swift-trunk-test
> staging: "local"
> app.ALL {executable: "*"}
> }
>
> sites: cloud
From iraicu at cs.iit.edu Fri Jul 25 11:38:58 2014
From: iraicu at cs.iit.edu (Ioan Raicu)
Date: Fri, 25 Jul 2014 11:38:58 -0500
Subject: [Swift-devel] CFP: International Symposium on Big Data Computing
(BDC) 2014
Message-ID: <53D28822.1020605@cs.iit.edu>
Call for Papers
IEEE/ACM International Symposium on Big Data Computing (BDC) 2014
December 8-11, 2014, London, UK
http://www.cloudbus.org/bdc2014
In conjunction with:
7th IEEE/ACM International Conference on Utility and Cloud Computing (UCC 2014)
Sponsored by: IEEE Computer Society and ACM (Association for Computing Machinery)
Introduction
===============================================================================
Rapid advances in digital sensors, networks, storage, and computation along
with their availability at low cost is leading to the creation of huge
collections of data -- dubbed as Big Data. This data has the potential for
enabling new insights that can change the way business, science, and
governments deliver services to their consumers and can impact society as a
whole. This has led to the emergence of the Big Data Computing paradigm
focusing on sensing, collection, storage, management and analysis of data from
variety of sources to enable new value and insights.
To realize the full potential of Big Data Computing, we need to address
several challenges and develop suitable conceptual and technological solutions
for dealing them. These include life-cycle management of data, large-scale
storage, flexible processing infrastructure, data modelling, scalable machine
learning and data analysis algorithms, techniques for sampling and making
trade-off between data processing time and accuracy, and dealing with privacy
and ethical issues involved in data sensing, storage, processing, and actions.
The IEEE/ACM International Symposium on Big Data Computing (BDC) 2014 -- held
in conjunction with 7th IEEE/ACM International Conference on Utility and Cloud
Computing (UCC 2014), December 8-11, 2014, London, UK, aims at bringing
together international researchers, developers, policy makers, and users and
to provide an international forum to present leading research activities,
technical solutions, and results on a broad range of topics related to Big
Data Computing paradigms, platforms and their applications. The conference
features keynotes, technical presentations, posters, workshops, tutorials, as
well as competitions featuring live demonstrations.
Topics
===============================================================================
Topics of interest include, but are not limited to:
I. Big Data Science
* Analytics
* Algorithms for Big Data
* Energy-efficient Algorithms
* Big Data Search
* Big Data Acquisition, Integration, Cleaning, and Best Practices
* Visualization of Big Data
II. Big Data Infrastructures and Platforms
* Programming Systems
* Cyber-Infrastructure
* Performance evaluation
* Fault tolerance and reliability
* I/O and Data management
* Storage Systems (including file systems, NoSQL, and RDBMS)
* Resource management
* Many-Task Computing
* Many-core computing and accelerators
III. Big Data Security and Policy
* Management Policies
* Data Privacy
* Data Security
* Big Data Archival and Preservation
* Big Data Provenance
IV. Big Data Applications
* Scientific application cases studies on Cloud infrastructure
* Big Data Applications at Scale
* Experience Papers with Big Data Application Deployments
* Data streaming applications
* Big Data in Social Networks
* Healthcare Applications
* Enterprise Applications
IMPORTANT DATES
===============================================================================
* Papers Due: September 15th, 2014
* Notification of Acceptance: October 15th, 2014
* Camera Ready Papers Due: October 31st, 2014
PAPER SUBMISSION
===============================================================================
Authors are invited to submit papers electronically. Submitted manuscripts
should be structured as technical papers and may not exceed 10 letter size
(8.5 x 11) pages including figures, tables and references using the IEEE format
for conference proceedings (print area of 6-1/2 inches (16.51 cm) wide by 8-7/8
inches (22.51 cm) high, two-column format with columns 3-1/16 inches (7.85 cm)
wide with a 3/8 inch (0.81 cm) space between them, single-spaced 10-point Times
fully justified text). Submissions not conforming to these guidelines may be
returned without review. Authors should submit the manuscript in PDF format and
make sure that the file will print on a printer that uses letter size (8.5 x 11)
paper. The official language of the meeting is English. All manuscripts will be
reviewed and will be judged on correctness, originality, technical strength,
significance, quality of presentation, and interest and relevance to the
conference attendees. Papers conforming to the above guidelines can be
submitted through the BDC 2014 paper submission system
(https://www.easychair.org/conferences/?conf=bdc2014).
Submitted papers must represent original unpublished research that is not
currently under review for any other conference or journal. Papers not
following these guidelines will be rejected without review and further action
may be taken, including (but not limited to) notifications sent to the heads
of the institutions of the authors and sponsors of the conference. Submissions
received after the due date, exceeding length limit, or not appropriately
structured may also not be considered. Authors may contact the conference PC
Chair for more information. The proceedings will be published through the IEEE
Computer Society Press, USA and will be made online through the IEEE Digital
Library. Selected papers from BDC 2014 will be invited to extend and submit to
the Special Issue on Many-Task Computing in the Cloud in the IEEE Transaction
on Cloud Computing (http://datasys.cs.iit.edu/events/TCC-MTC15/CFP_TCC-MTC15.pdf)
CHAIRS & COMMITTEES
===============================================================================
General Co-Chairs:
* Rajkumar Buyya, University of Melbourne, Australia
* Divyakant Agrawal, University of California at Santa Barbara, USA
Program Co-Chairs:
* Ioan Raicu, Illinois Institute of Technology and Argonne National Lab., USA
* Manish Parashar, Rutgers, The State University of New Jersey, USA
Area Track Co-Chairs:
* Big Data Science
o TBA
* Data Infrastructures and Platforms
o Amy Apon, Clemson University, USA
o Jiannong Cao, Honk Kong Polytechnic University
* Big Data Security and Policy
o Bogdan Carbunar, Florida International University
* Big Data Applications
o Dennis Gannon, Microsoft Research, USA
Cyber Chair
* Amir Vahid, University of Melbourne, Australia
Publicity Chairs
* Carlos Westphall, Federal University of Santa Catarina, Brazil
* Ching-Hsien Hsu, Chung Hua Univ., Taiwan & Tianjin Univ. of Technology, China
* Rong Ge, Marquette University, USA
Organizing Chair:
* Ashiq Anjum, University of Derby, UK
--
=================================================================
Ioan Raicu, Ph.D.
Assistant Professor, Illinois Institute of Technology (IIT)
Guest Research Faculty, Argonne National Laboratory (ANL)
=================================================================
Data-Intensive Distributed Systems Laboratory, CS/IIT
Distributed Systems Laboratory, MCS/ANL
=================================================================
Editor: IEEE TCC, Springer Cluster, Springer JoCCASA
Chair: IEEE/ACM MTAGS, ACM ScienceCloud
=================================================================
Cel: 1-847-722-0876
Office: 1-312-567-5704
Email: iraicu at cs.iit.edu
Web: http://www.cs.iit.edu/~iraicu/
Web: http://datasys.cs.iit.edu/
LinkedIn: http://www.linkedin.com/in/ioanraicu
Google: http://scholar.google.com/citations?user=jE73HYAAAAAJ
=================================================================
=================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tim.g.armstrong at gmail.com Thu Jul 31 19:08:25 2014
From: tim.g.armstrong at gmail.com (Tim Armstrong)
Date: Thu, 31 Jul 2014 19:08:25 -0500
Subject: [Swift-devel] Swift/K is now mirrored on Github
Message-ID:
I've just flipped the switch to publish a mirror of the Swift/K source on
github.
https://github.com/swift-lang/swift-k
This repository merges the contents of both the Swift and CoG repositories
into a single tree. You can now check out and build Swift/K more simply:
https://github.com/swift-lang/swift-k.git
cd swift-k
ant redist
Please test it out, play around, and report any issues to me.
For now, the github repo is a read-only mirror of the Swift and CoG
subversion repositories. Commits to these repositories will be
automatically committed to github within 15-20 minutes of the subversion
commit.
Commits to the old repositories maps to directories of the github repo as
follows:
https://svn.code.sf.net/p/cogkit/svn/trunk/src/cog -> ./cogkit/
https://svn.ci.uchicago.edu/svn/vdl2/trunk -> ./
We can automatically publish branches and tags, but I'll need to add them
to a list. Let me know if there are any missing branches or tags that you
think should appear on github.
- Tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: