[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN106201701A - A kind of workflow schedule algorithm of band task duplication - Google Patents

A kind of workflow schedule algorithm of band task duplication Download PDF

Info

Publication number
CN106201701A
CN106201701A CN201610569560.8A CN201610569560A CN106201701A CN 106201701 A CN106201701 A CN 106201701A CN 201610569560 A CN201610569560 A CN 201610569560A CN 106201701 A CN106201701 A CN 106201701A
Authority
CN
China
Prior art keywords
task
processor
deadline
queue
dag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610569560.8A
Other languages
Chinese (zh)
Inventor
李云
阮敏
袁运浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangzhou University
Original Assignee
Yangzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yangzhou University filed Critical Yangzhou University
Priority to CN201610569560.8A priority Critical patent/CN106201701A/en
Publication of CN106201701A publication Critical patent/CN106201701A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to the workflow schedule algorithm of a kind of band task duplication.The task initialization DAG figure that the present invention submits to according to user, builds task queue V, V={v according to the priority of DAG figure1, v2, Λ, vn, calculate first task v of task queue ViThe deadline on each processor in virtual list, compare lookup task viMinimum completion time Tft(vi, Pk), building the task that task queue A storage needs to repeat, task queue B stores having repeated of task, and task stores according to earliest start time non-increasing, use genetic algorithm iteration to go out optimal solution, having mapped of task is assigned to corresponding resource to obtain optimal scheduling scheme.Instant invention overcomes DAG figure and not there is the defect of significantly layering and priority restrictions clearly.Due to the fact that in D IAHA and IAHA, task whether to select in intersection and variation stage take into account the error probability of task during the resource made a variation, so greatly reducing the number of times of makeing mistakes when task performs on a processor.

Description

A kind of workflow schedule algorithm of band task duplication
Technical field
The invention belongs to the task scheduling field in cloud computing, the workflow height being specifically related to a kind of band task duplication is calculated Method.
Background technology
Heterogeneous distributed calculating system is made up of the most millions of Heterogeneous Computing nodes;These nodes are by arbitrary Network architecture interconnects, and the calculating resource handled up for height and the establishment of virtual organization meet the field of being widely applied Demand.
There is various ways in heterogeneous distributing system, cloud computing is one of them example.Along with science and technology development with enter Step, proposes the general of cloud computing on the basis of conventional various calculating such as parallel computation, Distributed Calculation, grid computing development Read.Academia and industrial circle are all trying to explore cloud computing, and the epoch of cloud computing are being stepped in the whole world.Cloud computing is with business model Form represent, it by cloud platform to user represent effectiveness calculate rosy prospect and some can attracting characteristic, than As using shared resource etc. as the service of formation on-demand on the Internet, according to access times and the charge of the demand of use thus be user Service instant, flexible, extendible is provided.
Cloud computing is made up of the software service of many Heterogeneous Computing nodes, Virtualization Computer and dynamically configuration.These Software service is come by the demand of their availability, performance, function and service quality (Quality of Service, QoS) The application program of competition user terminal.The available service of cloud computing is generally divided into three classes: infrastructure i.e. services (Infrastructure as a Service, IaaS), platform i.e. services (Platform as a Service, PaaS), soft Part i.e. services (Software as a Service, SaaS).These services provide difference for the demand meeting different consumer group Service.Although these service some similar functions of existence (such as computing function, store function and network function etc.), but due to Their non-functional characteristic is different and is different from each other, and these functional characteristics are we term it qos parameter, such as: service time, Costs of services, the effectiveness of service, the energy loss of service, service availability etc..
Consider the characteristic of cloud computing, in an efficient way task requests is mapped to the main process that resource is IaaS layer. In this layer, the heterogeneous resource of physics as scheduling unit thus is distributed by it by virtual machine (Virtual Machines, Vms) To task.Each virtual machine is to have to calculate and an abstraction unit of storage capacity in cloud environment.Because resource is different Structure and dynamic, and have the task of different characteristic and quantity, this Mission Scheduling is considered as a np complete problem.
Because a good dispatching method can be greatly improved the performance of cloud system, and does not has definite method at multinomial Optimal solution is found, so scheduling strategy all must rely on heuritic approach to find the good side of solution problem as far as possible in time Method.And in order to task is assigned on the processor in cloud computing environment perform effectively, Workflow Management System requires in detail Most scheduling strategy meets the priority restrictions relation between mission requirements and task.In sum, workflow schedule is at cloud meter It calculation is an important challenge.
Before the present invention makes, in cloud computing, these workflow schedules are difficulties.The difficult point of these problems The factor of many need to be considered: 1 when being scheduler task) all kinds of QoS standard 2) there are the elastic cloud clothes of isomery and dynamic characteristic Business 3) the various combination method that services to be to meet tasks carrying 4) transmission etc. of large area data.
The software run under cloud environment is we term it application program.Each application program is exactly a workflow, its It is made up of the task of being mutually related.These tasks can be scheduled in the different processor under cloud environment running.Exist now and permitted Many scientific applications such as bioinformatics, chemistry and astronomy etc., these application contain deposits between substantial amounts of task and task In complicated priority restrictions relation.These application can be converted to DAG figure (directed acyclic graph), and the DAG figure of conversion is complicated , not there is significantly layering and clearly priority restrictions, our this kind of DAG figure is called complicated DAG figure.
Summary of the invention
The purpose of the present invention is that and overcomes drawbacks described above, develops the workflow schedule algorithm of a kind of band task duplication.
The technical scheme is that
The workflow schedule algorithm of a kind of band task duplication, it is mainly characterized by and comprises the steps:
(1) the task initialization DAG figure submitted to according to user, represents with G=(V, E, [W], C), wherein, and vi∈ V represents I-th node in DAG figure, E is the set on DAG figure interior joint limit, eij∈ E represents task viTo task vjLimit, need simultaneously It is to be noted that task viMust be in task vjPerform before Zhi Hanging;wik∈ [W], [W] represents that n × m rank task is in different disposal Execution time matrix on device, wikExpression task viAt processor PjOn the execution time;cij∈ C represents viTo vjCommunication open Pin, represents with the weights on limit;
(2) task queue V, V={v are built according to the priority of DAG figure1, v2, Λ, vn};
(3) first task v of task queue V is calculatediThe deadline on each processor in virtual list:
(3a) task v is calculatediAt processor PkOn the initial deadline:
Tft(vi, Pk)=Tst(vi, Pk)+wik
Wherein, Tst(vi, Pk) it is task viAt processor PkOn time started, Tft(vi, Pk) it is the deadline;
(3b) M is madejFor task viFather's task node that in all tasks, out-degree is maximum (if there is several above identical out-degree, Then compare the deadline, MjFor the task that the deadline is maximum).MiFor task viMost important direct father's task, consider weight After multiple task, calculate task viAt processor PkOn the time that is finally completed:
If (i) MiAnd MjThe most not or the most scheduled to current processor PkOn, then return Tft(vi, Pk) value;
(ii) if processor PkUpper existence properly performs MiOr MjFree time gap, calculate task MjAt processor PkOn Deadline Tft(vj, Pk), calculate task MiAt processor PkOn deadline Tft(vt, Pk):
If 1. Tft(vj, Pk) < Tst(vi, Pk), then at processor PkUpper iterative task Mj
If 2. Tft(vt, Pk) < Tst(vi, Pk), then at processor PkUpper iterative task Mi
3. other situations, then return Tft(vi, Pk);
(iii) other situations, then return Tft(vi, Pk);
(4) lookup task v is comparediMinimum completion time Tft(vi, Pk), if there is identical value, then this task scheduling is arrived On the relatively small number of processor of task;
(5) when task queue is empty, building the task that task queue A storage needs to repeat, task queue B has stored Repeating of task, task stores according to earliest start time non-increasing;
(6) to all tasks in task queue B, if removing this task to total deadline without impact, then remove This task also updates queue B;
(7) genetic algorithm iteration is used to go out optimal solution;
(8) having mapped of task is assigned to corresponding resource to obtain optimal scheduling scheme.
Advantages of the present invention and effect are in D-IAHA and IAHA, and task is being intersected and whether wanting in the variation stage Select to take into account during the resource of variation the error probability of task, so greatly reducing makeing mistakes when task performs on a processor Number of times.
Accompanying drawing explanation
Fig. 1 present invention realizes schematic flow sheet.
The NSL performance evaluation schematic diagram of Fig. 2 task of the present invention.
The Efficiency performance evaluation schematic diagram of Fig. 3 task of the present invention.
Fig. 4 load factor of the present invention analyzes schematic diagram.
Fig. 5 mission failure of the present invention number of times analyzes schematic diagram.
Detailed description of the invention
One, step describes
The present invention is the Workflow Task Scheduling Algorithm of band task duplication based on cloud computing.With reference to the i.e. present invention's of Fig. 1 Realize schematic flow sheet, then the specific implementation process of the present invention comprises the following steps:
The task initialization DAG figure that step 1. is submitted to according to user, represents with G=(V, E, [W], C).Wherein, vi∈ V table Showing the i-th node in DAG figure, E is the set on DAG figure interior joint limit, eij∈ E represents task viTo task vjLimit, simultaneously Should be noted task viMust be in task vjPerform before Zhi Hanging;wik∈ [W], [W] represents that n × m rank task is not existing together Execution time matrix on reason device, wikExpression task viAt processor PjOn the execution time;cij∈ C represents viTo vjCommunication Expense, represents with the weights on limit.
Step 2. builds task queue V, V={v according to the priority of DAG figure1, v2, Λ, vn}。
Step 3. calculates first task v of task queue ViThe deadline on each processor in virtual list:
(3.1) task v is calculatediAt processor PkOn the initial deadline:
Tft(vi, Pk)=Tst(vi, Pk)+wik
Wherein, Tst(vi, Pk) it is task viAt each processor PkOn time started, Tft(vi, Pk) it is the deadline;
(3.2) M is madejFor task viFather's task node that in all tasks, out-degree is maximum (if exist several above the most identical go out Degree, then compare the deadline, MjFor the task that the deadline is maximum).MiFor task viMost important direct father's task, examining After considering iterative task, calculate task viAt processor PkOn the time that is finally completed:
(3.21) if MiAnd MjThe most not or the most scheduled to current processor PkOn, then return Tft(vi, Pk) value;
(3.22) if processor PkUpper existence properly performs MiOr MjFree time gap, calculate task MjAt processor PkOn Deadline Tft(vj, Pk), calculate task MiAt processor PkOn deadline Tft(vt, Pk):
If 1. Tft(vj, Pk) < Tst(vi, Pk), then at processor PkUpper iterative task Mj
If 2. Tft(vt, Pk) < Tst(vi, Pk), then at processor PkUpper iterative task Mi
3. other situations, then return Tft(vi, Pk);
(3.23) other situations, then return Tft(vi, Pk)。
Step 4. compares lookup task viMinimum completion time Tft(vi, Pk), if there is identical value, then this task is adjusted Spend on the relatively small number of processor of task.
If step 5. does not exist identical value and task queue for sky, build the task that task queue A storage needs to repeat, Task queue B stores having repeated of task, and task stores according to earliest start time non-increasing.
Step 6., to all tasks in task queue B, if removing this task to total deadline without impact, is then deleted Except Redundant task, update task queue.
Step 7. uses genetic algorithm iteration to go out optimal solution.
Having mapped of task is assigned to corresponding resource to obtain optimal scheduling scheme by step 8..
Two, emulation experiment
1. experiment parameter is arranged
In order to the effectiveness of D-IAHA algorithm is tested, utilize herein CloudSim platform by its with HEFT algorithm and IAHA algorithm compares.Compare with HEFT to be because in HEFT also having used and insert task in processor free time gap Strategy, comparing with IAHA and being because D-IAHA is to consider communication overhead element then to carry out on the basis of IAHA Certain improvement.The CCR parameter that this algorithm is used represents communication computing ratio, and CCR value changes in an experiment, and it calculates Formula is as follows:
C C R = C m C p
Wherein, Cm is average communication expense;Cp is average computation expense.
Experiment parameter is as shown in table 1:
Table 1 simulation parameter
The performance metric parameter that this experiment uses is NSL and Efficiency, and its computing formula is as follows:
N S L = m a k e s p a n M S C
Wherein, makespan is the deadline of overall algorithm;MSC is the max calculation expense summation in critical path.
E f f i c i e n c y = S L U S L M × N u m × 100
Wherein, SLU is the scheduling length in single processor system;SLM is scheduling length in a multi-processor system; Num is processor number.
2. simulation result
Test the NSL performance evaluation of 1 task
Fig. 2 is HEFT, IAHA, D-IAHA algorithm situation of change with the increase NSL value of CCR value.Increasing along with CCR value Greatly, i.e. task gradually changes to communications-intensive, and call duration time has increased, and total deadline of HEFT and IAHA is subject to Impact increases, then NSL value is consequently increased;And D-IAHA is owing to taking the method calculation cost of iterative task to exchange communication generation for Valency, thus job start time is shifted to an earlier date, decrease call duration time and there will not be significantly increase total time, so NSL Value is less than other two algorithm.If but CCR becomes increasing, task communication is frequent, causes relation between task to become complicated, then How to select iterative task to have any problem, total deadline can rebound.
Test the Efficiency performance evaluation of 2 tasks
Fig. 3 is HEFT, IAHA, D-IAHA algorithm situation of change with the increase Efficiency value of CCR value.D-IAHA's Efficiency value is all less than other two algorithm.Processor number owing to setting in this algorithm is certain, So can illustrate that its scheduling length is smaller than other two algorithm, so its performance improves more.
Test 3 load factor analyses
Fig. 4 is HEFT, IAHA, D-IAHA algorithm situation of change increasing its load factor with task number.Due to IAHA And D-IAHA uses task is assigned to calculate the method on speed, performance preferably processor, and intersecting and In view of this concept of resource load during variation, it is possible to find out that the load factor of both algorithms is less than HEFT;But Change the mode of communication cost with calculation cost reduce total deadline owing to D-IAHA takes, so the load on each node Rate is more relatively high than IAHA, but is also reduction of the load factor of resource compared with other algorithms.
Test 4 mission failure number of times analyses
Fig. 5 is the frequency of failure situation of change that under HEFT, IAHA, D-IAHA algorithm, task performs on a processor.Because Task performs to there is certain error rate on a processor, so there being certain fault tolerant mechanism in cloud computing system.If but energy The number of times of makeing mistakes fundamentally reducing task just can be greatly improved the performance of system.The number of times of makeing mistakes of D-IAHA and IAHA is less than HEFT, mainly due to the error probability not taking into account task in HEFT;And in D-IAHA and IAHA, task intersect and Whether to select in the variation stage take into account the error probability of task during the resource made a variation, so greatly reducing task at place Number of times of makeing mistakes when performing on reason device.

Claims (1)

1. the workflow schedule algorithm of a band task duplication, it is characterised in that comprise the steps:
(1) the task initialization DAG figure submitted to according to user, represents with G=(V, E, [W], C), wherein vi∈ V, represents DAG figure In i-th node, E is the set on DAG figure interior joint limit, eij∈ E represents task viTo task vjLimit, note simultaneously, appoint Business viMust be in task vjPerform before Zhi Hanging;wik∈ [W], [W] represents the execution on different processor of n × m rank task Time matrix, wikExpression task viAt processor PjOn the execution time;cij∈ C represents viTo vjCommunication overhead, with on limit Weights represent;
(2) task queue V, V={v are built according to the priority of DAG figure1, v2, Λ, vn};
(3) first task v of task queue V is calculatediThe deadline on each processor in virtual list:
(3a) task v is calculatediAt processor PkOn the initial deadline:
Tft(vi, Pk)=Tst(vi, Pk)+wik
Wherein, Tst(vi, Pk) it is task viAt processor PkOn time started, Tft(vi, Pk) it is the deadline;
(3b) M is madejFor task viFather's task node that in all tasks, out-degree is maximum (if there is several above identical out-degree, then than The relatively deadline, MjFor the task that the deadline is maximum);MiFor task viMost important direct father's task, consider repeat appoint After business, calculate task viAt processor PkOn the time that is finally completed:
If (i) MiAnd MjThe most not or the most scheduled to current processor PkOn, then return Tft(vi, Pk) value;
(ii) if processor PkUpper existence properly performs MiOr MjFree time gap, calculate task MjAt processor PkOn complete Time Tft(vj, Pk), calculate task MiAt processor PkOn deadline Tft(vt, Pk):
If 1. Tft(vj, Pk) < Tst(vi, Pk), then at processor PkUpper iterative task Mj
If 2. Tft(vt, Pk) < Tst(vi, Pk), then at processor PkUpper iterative task Mi
3. other situations, then return Tft(vi, Pk);
(iii) other situations, then return Tft(vi, Pk);
(4) lookup task v is comparediMinimum completion time Tft(vi, Pk), if there is identical value, then by this task scheduling to task On relatively small number of processor;
(5) if there is not identical value and task queue for sky, the task that task queue A storage needs to repeat, task team are built Row B stores having repeated of task, and task stores according to earliest start time non-increasing;
(6) to all tasks in task queue B, if removing this task to total deadline without impact, then redundancy is deleted Task, updates task queue;
(7) genetic algorithm iteration is used to go out optimal solution;
(8) having mapped of task is assigned to corresponding resource to obtain optimal scheduling scheme.
CN201610569560.8A 2016-07-14 2016-07-14 A kind of workflow schedule algorithm of band task duplication Pending CN106201701A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610569560.8A CN106201701A (en) 2016-07-14 2016-07-14 A kind of workflow schedule algorithm of band task duplication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610569560.8A CN106201701A (en) 2016-07-14 2016-07-14 A kind of workflow schedule algorithm of band task duplication

Publications (1)

Publication Number Publication Date
CN106201701A true CN106201701A (en) 2016-12-07

Family

ID=57494262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610569560.8A Pending CN106201701A (en) 2016-07-14 2016-07-14 A kind of workflow schedule algorithm of band task duplication

Country Status (1)

Country Link
CN (1) CN106201701A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256458A (en) * 2017-06-06 2017-10-17 华北电力大学(保定) The performance yields optimization method and device of a kind of multiprocessor systems on chips
CN107301500A (en) * 2017-06-02 2017-10-27 北京工业大学 A kind of workflow schedule method looked forward to the prospect based on critical path task
CN109918182A (en) * 2019-01-23 2019-06-21 中国人民解放军战略支援部队信息工程大学 More GPU task dispatching methods under virtualization technology
CN110456737A (en) * 2019-04-30 2019-11-15 北京云迹科技有限公司 Task automatic deployment method and device for robot
CN110851263A (en) * 2019-11-15 2020-02-28 西安石油大学 Green cloud task scheduling method for heterogeneous cloud data center
CN112199177A (en) * 2020-10-19 2021-01-08 上海交通大学 SKA task scheduling system and method based on genetic algorithm and computational topology model
CN112492032A (en) * 2020-11-30 2021-03-12 杭州电子科技大学 Workflow cooperative scheduling method under mobile edge environment

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301500A (en) * 2017-06-02 2017-10-27 北京工业大学 A kind of workflow schedule method looked forward to the prospect based on critical path task
CN107256458A (en) * 2017-06-06 2017-10-17 华北电力大学(保定) The performance yields optimization method and device of a kind of multiprocessor systems on chips
CN109918182A (en) * 2019-01-23 2019-06-21 中国人民解放军战略支援部队信息工程大学 More GPU task dispatching methods under virtualization technology
CN110456737A (en) * 2019-04-30 2019-11-15 北京云迹科技有限公司 Task automatic deployment method and device for robot
CN110851263A (en) * 2019-11-15 2020-02-28 西安石油大学 Green cloud task scheduling method for heterogeneous cloud data center
CN112199177A (en) * 2020-10-19 2021-01-08 上海交通大学 SKA task scheduling system and method based on genetic algorithm and computational topology model
CN112199177B (en) * 2020-10-19 2023-03-31 上海交通大学 SKA task scheduling system and method based on genetic algorithm and computational topology model
CN112492032A (en) * 2020-11-30 2021-03-12 杭州电子科技大学 Workflow cooperative scheduling method under mobile edge environment

Similar Documents

Publication Publication Date Title
CN106201701A (en) A kind of workflow schedule algorithm of band task duplication
Lin et al. Scheduling scientific workflows elastically for cloud computing
Blythe et al. Task scheduling strategies for workflow-based applications in grids
Ge et al. GA-based task scheduler for the cloud computing systems
CN102932422B (en) Cloud environment task scheduling method based on improved ant colony algorithm
CN102780759B (en) Based on the cloud computing resource scheduling method in regulation goal space
Zhu et al. A cost-effective scheduling algorithm for scientific workflows in clouds
Amalarethinam et al. An Overview of the scheduling policies and algorithms in Grid Computing
CN111861412A (en) Completion time optimization-oriented scientific workflow scheduling method and system
Baraglia et al. A multi-criteria job scheduling framework for large computing farms
CN107070965B (en) Multi-workflow resource supply method under virtualized container resource
Wang et al. Scheduling online mixed-parallel workflows of rigid tasks in heterogeneous multi-cluster environments
Peng et al. A reinforcement learning-based mixed job scheduler scheme for cloud computing under SLA constraint
Zhou et al. Multi-search-routes-based methods for minimizing makespan of homogeneous and heterogeneous resources in Cloud computing
CN111309472A (en) Online virtual resource allocation method based on virtual machine pre-deployment
Qureshi et al. Grid resource allocation for real-time data-intensive tasks
Stavrinides et al. Orchestrating bag-of-tasks applications with dynamically spawned tasks in a distributed environment
CN106407007B (en) Cloud resource configuration optimization method for elastic analysis process
CN112306642A (en) Workflow scheduling method based on stable matching game theory
Cui et al. Cloud workflow scheduling algorithm based on reinforcement learning
Lee et al. A hierarchical scheduling strategy for the composition services architecture based on cloud computing
Li et al. On scheduling of high-throughput scientific workflows under budget constraints in multi-cloud environments
Xu et al. Hybrid scheduling deadline-constrained multi-DAGs based on reverse HEFT
Zhao et al. RAS: a task scheduling algorithm based on resource attribute selection in a task scheduling framework
Hu et al. Cloud model-based security-aware and fault-tolerant job scheduling for computing grid

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161207