Analyzing the effectiveness of rescheduling and Flexible Execution methods to address uncertainty in execution duration for a planetary rover

https://doi.org/10.1016/j.robot.2021.103758Get rights and content

Highlights

  • Presents a model of temporally flexible execution and scheduler invocation to address execution variation (activity duration short or long).

  • Presents a theoretical model and empirical results on synthetic and expected planetary rover data.

  • Discusses how work influenced flight software for Mars 2020 rover.

Abstract

During execution, activity durations may vary from those predicted in the generated schedule. In this article we study (re) scheduling invocation, execution during rescheduling, and flexible execution to enable a high level of responsiveness to uncertainty in activity execution duration. We discuss these methods theoretically in the context of an embedded scheduler and practically in the context of a limited CPU embedded scheduler with a nonzero scheduler runtime intended for a planetary rover.

We use the concept of a commit window to enable execution of the previously generated schedule while (re) scheduling. We define Fixed Cadence and Event Driven scheduling as methods to decide when to reinvoke the scheduler. We define and analyze Flexible Execution (FE) as an approach to execute the generated schedule while adapting it to variations in execution. Specifically, FE focuses on (1) how to take advantage of activities ending earlier than expected and (2) how to maintain a consistent schedule if activities take more time than expected. We present a theoretical model and empirical results documenting how these various methods interact and perform on both synthetic data and best available data for NASA’s next planetary rover, the Mars 2020 rover. We then describe how these analyses influenced the onboard software for the Mars 2020 rover.

Introduction

Many schedulers operate in a setting in which execution may vary from predictions (e.g. activity duration, resource usage, etc.). Often, activities may use fewer resources (time, energy, and data volume) than expected. These unpredictably freed resources may be utilized later in the schedule to improve the schedule (such as by performing more activities). Alternatively, activities may also use more resources than expected, risking failure to perform all tasks. For example, a study of the NASA Mars Science Laboratory (MSL) mission [1] campaigns indicated that activities’ executed durations on average was 28% shorter than their predicted durations [2], [3]. This conservatism arises because the MSL onboard execution is generally commanded by fixed timing and therefore less robust to activities running long. The Mars 2020 rover onboard scheduler [4] is designed address exactly this issue.

This article studies how an onboard system can respond to changes in resource consumption (time, energy, data volume) as they occur by (1) reinvoking the scheduler to incorporate execution feedback and (2) by making the generated schedule more adaptable during execution to allow for a more responsive and effective scheduling and execution system. Specifically, we will consider the effects of changes in activity duration, or time in our model given that we do not have best and worst-case bounds on activity execution duration. Since energy and data volume are measured as rates, they are implicitly affected with changes in time. Responding to these updates is trivial if a scheduler takes no time to run, but in the real world schedulers have a nonzero runtime.

This article builds on and subsumes the paper titled “Embedding a Scheduler in Execution for a Planetary Rover” [5] which appeared in the 28th International Conference on Automated Planning and Scheduling (ICAPS 2018). The prior paper discusses the schedule invocation methods and a more limited discussion of Flexible Execution. This article extends the prior analysis in several ways.

  • The prior paper focused on the use of FE for activities completing early. In this article we extend this discussion and analysis to activities running long. We also present empirical results on the effectiveness of FE in addressing this issue.

  • The prior paper did not consider the possibility of the scheduler completing early. We both describe how FE can take advantage of this by executing activities earlier as well as include empirical evidence to showcase the effectiveness of FE in this case.

  • In the prior paper, we conjectured three reasons why the theoretical model of loss of schedule efficiency due to (re) scheduler runtime does not apply perfectly to the actual Mars 2020 sol type scheduler and execution data. In this article we show that indeed these three factors are the cause for the inaccuracy of the makespan loss model as it applies to the Mars 2020 inputs. We show this by removing these elements from the Mars 2020 inputs to quantify the effect of each of these factors.

  • In this article, we discuss how the analysis we performed impacted the design of the Mars 2020 onboard scheduler.

The paper is organized as follows. First, we define the scheduling problem and a framework to analyze the tradeoffs of various schedule invocation and execution methods.

Second, we describe two methods to decide when to reschedule, Fixed Cadence scheduling and Event Driven scheduling, which differ by when the scheduler is invoked to generate an updated schedule during execution. While Fixed Cadence scheduling reschedules periodically, Event Driven scheduling reschedules in response to unexpected changes during execution.

Third, we present Flexible Execution (FE) as a way to execute activities in the generated schedule while incorporating changes in execution. We discuss how to (1) best take advantage of activities and the scheduler itself taking less time than expected, and (2) how to maintain a consistent schedule if activities take more time to execute than expected. We discuss two variations of FE, Extended Veto and Extended Push, which differ in how they address the challenges resulting from activities running longer than expected.

Fourth, we describe an empirical evaluation of the effectiveness of scheduler invocation and FE methods on both Mars 2020 rover data and synthetic data.

Fifth, we discuss how the analysis influenced the design of the Mars 2020 rover flight software.

Section snippets

Problem definition and analysis framework

For the scheduling problem we adopt the definitions in [4]. The scheduler is given a list A of activities

A1p1,d1,R1,e1,dv1,Γ1,T1,D1Anpn,dn,Rn,en,dvn,Γn,Tn,Dn where

  • pi is the scheduling priority of activity Ai;

  • di is the nominal, or predicted, duration of activity Ai;

  • Ri is the set of unit resources Ri1Rim that activity Ai uses;

  • ei and dvi are the rates at which the consumable resources energy and data volume respectively are consumed by activity Ai;

  • Γi is the set of non-depletable resources

Fixed Cadence Scheduling

Using Fixed Cadence Scheduling, the scheduler is invoked periodically every C seconds. We assume CTsc_p to ensure that the scheduler will have sufficient time to generate a complete schedule in the current invocation. Since the scheduler is invoked at a predetermined time, the scheduler is often not able to react effectively to changes in execution, resulting in scheduler invocation loss in addition to scheduler runtime loss as shown in Fig. 2.

In Fig. 2(a), A and B are consecutive activities

Flexible Execution

Both of the above methods for rescheduling operate at a responsiveness limited by Tsc_p. We use Flexible Execution (FE) to attempt to locally adjust the schedule without explicitly generating an entire updated schedule. Flexible Execution is able to further mitigate the loss incurred by updating start times of activities within the commit window if the scheduler is not running. Specifically, it is able to reduce scheduler runtime loss by starting activities earlier if the scheduler ends early

Empirical Analysis

We now present empirical evaluation to show how the scheduling and execution methods discussed result in more time recouped when activities and the scheduler itself end early and how effectively they handle activities running later than expected. Furthermore, we show how well the defined computational model for loss applies to our problem inputs and we investigate cases where is does not apply as we expect.

In order to evaluate how well the scheduling and execution strategies we have presented

Impact of Analysis on Mars 2020 Mission

The analysis described in this article was part of the design process for the Mars 2020 flight system. Early in the design phase, the baseline for the Mars 2020 onboard scheduler was Fixed Cadence Scheduling, with a (conservative) estimated runtime and cadence of 6 min. In this design, the scheduler was expected to run as much as 3.5 min out of each 6 min interval. Because of this high duty cycle, the scheduler had a very low or lowest software priority enforcing that it could never starve the

Discussion and Future Work

The work described addresses handling uncertainty in execution duration, a critical part of using intelligent agents to execute activities with a high level of responsiveness. We formalized and analyzed multiple automated scheduling and execution techniques to address uncertainty in execution in the context of a nonzero runtime scheduler for a planetary rover. We used a framework given by a computational model to understand the tradeoffs between the different methods.

There are many areas where

Related Work

There exist many scheduling and execution techniques to account for uncertainty in execution. While we cannot directly apply most of these strategies to our specific problem for reasons discussed below, we acknowledge the relation of these works to the methods we have described in this paper.

Work using Simple Temporal Networks (STN) and Simple Temporal Networks under Uncertainty (STNUs) [11], [12] address guarantees for executability of schedules with uncertain task durations in which start

Conclusion

We have presented multiple schedule invocation techniques and execution algorithms to address the challenge of using a scheduling and execution system where activity durations may deviate from predicted values. Specifically, we have discussed Fixed Cadence scheduling, which invokes the scheduler periodically and Event Driven scheduling which invokes the scheduler in response to changes which occur during execution. We have also presented two variations of the Flexible Execution algorithm,

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Acknowledgments

The work described in this article was funded by the Research and Technology Development Program, Jet Propulsion Laboratory, California Institute of Technology and the Mars 2020 Mission, National Aeronautics and Space Administration .

Jagriti Agrawal is a Member of Technical Staff in the Artificial Intelligence Group, Planning and Execution Section, of the Jet Propulsion Laboratory, California Institute of Technology.

Ms. Agrawal graduated from the California Institute of Technology with a BS in Computer Science with a specialization in Artificial Intelligence. As an undergraduate, she was both a Teaching Assistant in Machine Learning and a Summer Undergraduate Research Fellow (SURF) working on Machine Learning. In prior

References (42)

  • LaborieP.

    Algorithms for propagating resource constraints in AI planning and scheduling: Existing approaches and new results

    Artificial Intelligence

    (2003)
  • MuscettolaN. et al.

    Remote agent: To boldly go where no AI system has gone before

    Artificial Intelligence

    (1998)
  • LaboratoryJ.P.

    Mars science laboratory mission

    (2017)
  • D. Gaines, R. Anderson, G. Doran, W. Huffman, H. Justice, R. Mackey, G. Rabideau, A. Vasavada, V. Verma, T. Estlin, et...
  • GainesD. et al.

    Productivity Challenges for Mars Rover Operations: A Case Study of Mars Science Laboratory OperationsTechnical Report D-97908

    (2016)
  • G. Rabideau, E. Benowitz, Prototyping an onboard scheduler for the mars 2020 rover, in: International Workshop on...
  • W. Chi, S. Chien, J. Agrawal, G. Rabideau, E. Benowitz, D. Gaines, E. Fosse, S. Kuhn, J. Biehl, Embedding a scheduler...
  • ChienS.A. et al.

    Using iterative repair to improve the responsiveness of planning and scheduling

  • KnightS. et al.

    Casper: Space exploration through continuous planning

    IEEE Intell. Syst.

    (2001)
  • LaboratoryJ.P.

    Mars 2020 rover mission

    (2017)
  • J. Agrawal, W. Chi, S. Chien, G. Rabideau, S. Kuhn, D. Gaines, Enabling limited resource-bounded disjunction in...
  • S. Bhaskaran, J. Agrawal, S. Chien, Using a model of scheduler runtime to improve the effectiveness of scheduling...
  • MorrisP. et al.

    Dynamic control of plans with temporal uncertainty

    Proceedings of the 17th international joint conference on Artificial intelligence

    (2001)
  • MorrisP.

    Dynamic controllability and dispatchability relationships

  • T. Vaquero, S. Chien, J. Agrawal, W. Chi, T. Huntsberger, Temporal brittleness analysis of task networks for planetary...
  • M. Saint-Guillain, T.S. Vaquero, J. Agrawal, S. Chien, Robustness computation of dynamic controllability in...
  • LombardiM. et al.

    A precedence constraint posting approach for the rcpsp with time lags and variable durations

  • BidotJ. et al.

    A theoretic and practical framework for scheduling in a stochastic environment

    J. Sched.

    (2009)
  • VieiraG.E. et al.

    Rescheduling manufacturing systems: a framework of strategies, policies, and methods

    Journal of Scheduling

    (2003)
  • SmithS.F.

    Reactive scheduling systems

  • N. Policella, S.F. Smith, A. Cesta, A. Oddi, Generating robust schedules through temporal flexibility, in: Proceedings...
  • Cited by (0)

    Jagriti Agrawal is a Member of Technical Staff in the Artificial Intelligence Group, Planning and Execution Section, of the Jet Propulsion Laboratory, California Institute of Technology.

    Ms. Agrawal graduated from the California Institute of Technology with a BS in Computer Science with a specialization in Artificial Intelligence. As an undergraduate, she was both a Teaching Assistant in Machine Learning and a Summer Undergraduate Research Fellow (SURF) working on Machine Learning. In prior summer internships she worked at OpenX and Boeing. She was also a JPL summer intern where she worked on web tools for the Mars Science Laboratory project.

    Ms. Agrawal works on performance characterization, algorithm, and validation techniques for the Mars 2020 onboard scheduler.

    Wayne Chi is a Member of Technical Staff in the Artificial Intelligence Group, Planning and Execution Section, of the Jet Propulsion Laboratory, California Institute of Technology. Mr. Chi graduated from the University of Southern California with a BS in Computer Science and Business Administration and MS in Computer Science. Wayne worked on algorithm design and validation techniques for the Mars 2020 onboard scheduler.

    Steve Chien is JPL Fellow, Senior Research Scientist, and Technical Group Supervisor of the Artificial Intelligence Group, Planning and Execution Section, of the Jet Propulsion Laboratory, California Institute of Technology. Dr. Chien holds a BS (Highest Honors) in Computer Science (with Minors in Economics and Mathematics), and a MS and PhD in Computer Science, all from the University of Illinois. He has led the deployment of Artificial Intelligence Software for use on the Earth Observing One, Mars Exploration Rovers, and the European Space Agency’s Rosetta Orbiter missions. He supports the Mars 2020 mission in the area of ground and flight Artificial Intelligence.

    Gregg Rabideau is a Senior Member of Technical Staff in the Artificial Intelligence Group, Planning and Execution Section, of the Jet Propulsion Laboratory, California Institute of Technology. Mr. Rabideau holds a BS and MS in Computer Science from the University of Illinois. a He was a key member of the Earth Observing One and Rosetta Orbiter deployments of Artificial Intelligence Software. Gregg is a member of the M2020 Flight Software Team.

    Daniel Gaines is a Principal Member of Technical Staff in the Artificial Intelligence Group, Planning and Execution Section, of the Jet Propulsion Laboratory, California Institute of Technology. Dr. Gaines holds a BS from Worcester Polytechnic Institute and an MS and PhD in Computer Science from the University of Illinois. Dr. Gaines was a member of the Mars Exploration Rovers Operations Team, The Mars Science Laboratory Flight Software and Operations Teams, and is Deputy Cognizant Engineer for the Mars 2020 Flight Software as well as a member of the Mars 2020 Operations Team.

    Stephen Kuhn is a Member of Technical Staff in the Systems Engineering Division, of the Jet Propulsion Laboratory, California Institute of Technology. Stephen Kuhn was a member of the Systems Engineering and Flight Software Teams for the Mars Science Laboratory Mission. Stephen Kuhn is the Flight Software Systems Engineer for the Mars 2020 Mission.

    View full text