Modulo Scheduling with Regular Unwinding

Benoˆıt Dupont de Dinechin AST Embedded Systems Research Laboratory Via Cantonale 16E 6928 Manno Switzerland [email protected]

STMicroelectronics DOM2004 – July 2004

1

Regular Unwinding

Presentation Outline

Presentation Outline • Modulo Scheduling Problems • Cyclic Scheduling Frameworks • The Regular Unwinding Framework • Modulo Scheduling Relaxations • Applications to Modulo Scheduling • Conclusions

DOM2004 – July 2004

2

Regular Unwinding

Modulo Scheduling Problems

Modulo Scheduling Problems Motivating Example: Compiling Inner Program Loops

start

0

+1

1 1

*2 ai

3

bi

1−2λ

+3

0

for (i=2; i
ci

a[i] = x+c[i-2]; b[i] = a[i]*f;

stop

c[i] = a[i]+b[i]; }

• All the iterations execute the same “local schedule” {σi }1≤i≤3 translated by λ cycles (1-periodic schedule) • In this example, operation O3 c[i]=a[i]+b[i] of iteration i must execute before operation O1 a[i]=x+c[i-2] of iteration i+2 • Find {σi } such that scheduling the successive loop iterations λ cycles apart satisfies the dependence and the resource constraints DOM2004 – July 2004

3

Regular Unwinding

Modulo Scheduling Problems

Motivating Example: Dependence and Resource Constraints • Assume a processor with two functional units that operate in parallel: an adder and a multiplier • Each functional unit may start a new operation every cycle, but the multiplier result is only available after 3 cycles   σ2 − σ1 ≥ 1     » ¼  σ −σ ≥ 1 1+3+1 3 1 =⇒ 0 ≥ 1+3+1−2λ =⇒ λ ≥ λrec =  2 σ3 − σ2 ≥ 3      σ − σ ≥ 1 − 2λ 1

3

• Because there is only one adder and there are two additions per §2¨ iteration, we also have λ ≥ λres = 1 • Here the minimum possible λ is max(λrec , λres ) = 3 DOM2004 – July 2004

4

Regular Unwinding

Modulo Scheduling Problems

Modulo List Scheduling Algorithm (Rau et al. 1981)

MUL

O2

•2

ADD O1 ¾

•1 λ

O3

•2 •1

•3

-

• Graham List Scheduling with modulo resource reservation: if a resource is used by Oi at date t, then the resource is considered busy at dates t + kλ ∀k ∈ lN • Modulo List Scheduling is not guaranteed to find a schedule when the problem is feasible at a given λ • Modulo List Scheduling builds a schedule at the minimum feasible λ when the dependence graph is acyclic • When λ is large enough, Modulo List Scheduling degenerates into Graham List Scheduling DOM2004 – July 2004

5

Regular Unwinding

Modulo Scheduling Problems

The Modulo Scheduling Problem Let be {σi }1≤i≤n the modulo schedule dates of {Oi }1≤i≤n : Uniformj Dependence Constraints For each uniform dependence j θi ,ωi Oi −→ Oj , a valid modulo schedule satisfies σi + θij ≤ σj + λωij . The latency θij and the distance ωij are non negative integers. The carried dependences are such that ωij > 0. The dependence graph without the carried dependences is a DAG. Modulo Resource Constraints Each operation Oi requires ~bi ≥ ~0 resources for all the time intervals [σi + kλ, σi + kλ + pi − 1], k ∈ lN and the total resource use at any ~ time cannot exceed a given resource availability B. The integer value pi is the processing time of operation Oi . Objectives are to minimize λ, then minimize Cmax given the λ DOM2004 – July 2004

6

Regular Unwinding

Modulo Scheduling Problems

The Classic Modulo Scheduling Framework • Compute the lower bounds λres and λrec λrec λres

»P j ¼ θ def C i P = maxC : C dependence circuit ωij C» P ¼ n r pi bi def i=1 ~ = max1≤r≤R : R = dim(B) Br def

• Starting from λmin = max(λrec , λres ), find by dichotomy the minimum λ such that Modulo List Scheduling succeeds • In Iterative Modulo Scheduling (Rau 1996), the Modulo List Scheduling is extended with local backtracking capabilities • Iterative Modulo Scheduling is the state-of-the-art modulo scheduling technique used in production compilers

DOM2004 – July 2004

7

Regular Unwinding

Cyclic Scheduling Frameworks

Cyclic Scheduling Frameworks • Cyclic scheduling on parallel processors [Hanen & Munier 1994] • Unwind and compact to find K-periodic schedules [Bodin & Charot 1990, Aiken et al. 1996] • Optimal K-periodic scheduling [Feautrier 1994, Fimmel & ¨ Muller 2000] • Classic modulo scheduling [Rau et al. 1981, Lam 1988, Rau 1996] • Decomposed scheduling [Gasperoni & Schwiegelshohn 1991, Wang & Eisenbeis 1994], Insertion Scheduling [Dinechin 1995] • Optimal modulo scheduling using time-indexed integer linear programming formulations [Govindarajan et al. 1994, Eichenberger et al. 1995, Dinechin 2003] See http://www.cri.ensmp.fr/classement/2003.html. DOM2004 – July 2004

8

Regular Unwinding

Cyclic Scheduling Frameworks

Unwind and Find Pattern Techniques (Bodin et al. 1990)

MUL

O21

ADD O11

O12

I

O22

O23 O31

cyclic pattern

O32

O13

O24

O14

µ

• Techniques based on incremental unwinding of iterations of the original cyclic scheduling problem • After each unwinding step, schedule as early as possible the operations of the newly unwinded iteration • Eventually, a scheduling pattern that spans K iterations is found; this yields a K-periodic schedule • Requires span-limiting dependences to ensure convergence

DOM2004 – July 2004

9

Regular Unwinding

Cyclic Scheduling Frameworks

Integer Programming Modulo Scheduling Based on the non-preemptive time-indexed formulation for the Resource Constrained Project Scheduling Projects (RCPSP), first introduced by Pritsker, Watters and Wolfe in 1969: def

def

• Define the {0, 1} variables {xti }: if σi = t then xti = 1 else xti = 0 PT −1 t • Assuming T is the time horizon, then σi = t=1 txi • Models time-dependent resource availabilities and requirements: ∀t ∈ [0, T − 1] :

n X t X

~ xsi ~bi (t − s) ≤ B(t)

i=1 s=0

• In [Pritsker et al. 1969], the dependence constraints are written: T −1 X

t(xtj − xti ) ≥ dji ⇐⇒ σj − σi ≥ dji

t=1

DOM2004 – July 2004

10

Regular Unwinding

Cyclic Scheduling Frameworks

Integer Programming Modulo Scheduling (Continued) A stronger expression of the dependence constraints was given by [Christofides et al 1987], with T equations for each dependence:

∀t ∈ [0, T − 1] :

T −1 X

t+dji −1

xsi

+

s=t

6

PT −1

s x i s=t

Pt+θij −1 s=0

xsj

6

σi + 1. .. .. .. ... ... .. .. ..

C C

X

xsj ≤ 1

s=0 ...σj .. .. .. ... ... .. ... ... .. ... ...

¤ ¤

j

− θi + 1

T. ... .. ... .. ... ... .. ... ... .. .. ... .. .. .. ... ..

-

-

Ensuring the sum of these two functions is ≤ 1 =⇒ σi ≤ σj − dji .

DOM2004 – July 2004

11

Regular Unwinding

Cyclic Scheduling Frameworks

Integer Programming Modulo Scheduling (Continued) Basic time-indexed formulation for the Modulo Scheduling Problem with renewable resources [Dinechin 2003]: minimize

T −1 X

t xtn+1

:

t=1 T −1 X

xti

=

1

∀i ∈ [1, n + 1]

xsj



1

∀t ∈ [0, T − 1], ∀(i, j) ∈ Edep

xsi ~bi



~ B

∀t ∈ [0, λ − 1]

t=0 T −1 X

t+θij −λωij −1

xsi

X

+

s=t −1 k=b T λ n X X c

i=1

k=0

s=0 t+kλ X s=t+kλ−pi +1

xti DOM2004 – July 2004

∈ {0, 1}

∀i ∈ [1, n + 1], ∀t ∈ [0, T − 1] 12

Regular Unwinding

Cyclic Scheduling Frameworks

K-Periodic Cyclic Scheduling and Modulo Scheduling • K-periodic schedules are dominant cyclic schedules • For software compilation and hardware synthesis applications, 1-periodic schedules are preferred: – Uncontrolled code size increase of K-periodic schedules – If the code size increase of K-unwinding a loop can be afforded, better performance is obtained by K-unrolling the loop before scheduling, by optimizing the resulting loop body, and by building a 1-periodic schedule • Modulo scheduling only builds 1-periodic schedules, and tries to minimize both λ and Cmax

DOM2004 – July 2004

13

Regular Unwinding

Cyclic Scheduling Frameworks

Issues with Existing Modulo Scheduling Techniques • Heuristic modulo scheduling with backtracking is expensive to run, in particular for just-in-time compilation • Integer programming modulo scheduling is currently limited to small problems (' 100 operations), due to the lack of effective relaxations • Modulo scheduling problems need to be extended to scheduling with communication delays (microprocessors with incomplete register bypassing) • There are very few scheduling theory results that may apply to modulo scheduling • Our motivation is to apply the modern acyclic scheduling techniques to modulo scheduling, in particular the scheduling algorithm of Leung, Palem and Pnueli [TOPLAS 2001] DOM2004 – July 2004

14

Regular Unwinding

The Regular Unwinding Framework

The Regular Unwinding Framework λ λ MUL

O21

O22

ADD O11

O12 λ

-

O23

O31

O13 λ

-

λ

O32 -

Overview of Regular Unwinding • Assume a value of λ, unwind the modulo scheduling problem p-times, and study the feasibility using acyclic scheduling • Ensure the unwinded schedule is regular: any two instances of an operation are scheduled no less than λ cycles apart • Eventually, a regular unwinded schedule becomes stationary, and this yields a modulo schedule at λ DOM2004 – July 2004

15

Regular Unwinding

The Regular Unwinding Framework

Regular Unwinding of the Modulo Scheduling Problem Given a modulo scheduling problem with the operation set j j θi ,ωi {Oi }1≤i≤n , dependences {Oi −→ Oj }(i,j)∈E , release dates {ri }1≤i≤n and deadlines {di }1≤i≤n its p-unwinded scheduling problem is: k 1≤k≤p with schedule dates {σ Operation Set {Oik }1≤k≤p i }1≤i≤n 1≤i≤n

Dependence Constraints σik

+

θij



k+ωij σj

∀(i, j) ∈ E, ∀k ∈ [1, p − ωij ]

def def Resource Constraints ~bki = ~bi ∧ pki = pi def

Release Dates rik = ri + (k − 1)λ def

Deadlines dki = di + (k − 1)λ

∀i ∈ [1, n], ∀k ∈ [1, p]

∀i ∈ [1, n], ∀k ∈ [1, p]

∀i ∈ [1, n], ∀k ∈ [1, p]

We call iteration k the set {Oik }1≤i≤n .

DOM2004 – July 2004

16

Regular Unwinding

The Regular Unwinding Framework

Stationary Unwinded Schedules We denote ω ¯ = max(i,j)∈E ωij and Ω = maxi (d def

def

maxi di −minj rj e, ω ¯ ). λ

Definition 1 A q-stationary p-unwinded schedule is a solution to a p-unwinded scheduling problem such that: ∀i ∈ [1, n], ∀k ∈ [q, p − 1] : σik + λ = σik+1 Definition 2 An interesting unwinded schedule is a q-stationary def p-unwinded schedule such that: {σi }1≤i≤n = {σiq }1≤i≤n is a modulo schedule. Theorem 1 Given a λ-feasible modulo scheduling problem, any q-stationary p-unwinded schedule with p − q ≥ Ω is an interesting unwinded schedule.

DOM2004 – July 2004

17

Regular Unwinding

The Regular Unwinding Framework

Foundations of the Regular Unwinding Framework Definition 3 A q-regular p-unwinded schedule is s-successive-stationary iff ∃t ∈ [q, p − s] ∀i ∈ [1, n] ∀k ∈ [t, t + s − 1] : σik + λ = σik+1 In other words, stationarity holds for s successive iterations. Theorem 2 Given a λ-feasible modulo scheduling problem with finite deadlines ∀s > 0 ∃r > 0 ∀q > 0 ∀p ≥ q + r : any q-regular p-unwinded schedule is s-successive-stationary. Proof: By contradiction, assume ∃s > 0 ∀r > 0 ∃q > 0 ∃p ≥ q + r : a q-regular p-unwinded schedule is not s-successive-stationary. This implies ∀t ∈ [q, p − s] ∃i ∈ [1, n] : σit + sλ + 1 ≤ σit+s . P A choice of r ≥ s i (di − ri ) + s ensures the q-regular p-unwinded schedule is infeasible.

DOM2004 – July 2004

18

Regular Unwinding

The Regular Unwinding Framework

Foundations of the Regular Unwinding Framework (Continued) Corollary 1 A modulo scheduling problem and its regularized p-unwinded P def scheduling problem, with p ≥ ρ¯ = Ω i (di − ri ) + Ω + 1 are equivalent. To solve a modulo scheduling problem at λ, build the regularized p-unwinded scheduling problem, with p ≥ ρ¯. By Corollary 1, either this regularized p-unwinded scheduling problem is feasible and we convert its solution to a modulo schedule; or, it is not feasible and there is no feasible modulo schedule at initiation interval λ. • The earlier Unwind and Find Pattern techniques neither guarantee optimality, nor bound the unwinding that ensures convergence on a P -periodic schedule • The Regular Unwinding framework requires the dichotomy search to find the minimum feasible λ

DOM2004 – July 2004

19

Regular Unwinding

Modulo Scheduling Relaxations

Modulo Scheduling Relaxations Extension of the α|β|γ Scheduling Problem Denotation We extend the α|β|γ scheduling problem denotation to cyclic scheduling by introducing the additional β fields: prec(θij , ωij ) Uniform dependences, implying cyclic scheduling circuit(θij , ωij ) The dependence graph is a single circuit of uniform dependences πi = λi The processing period of operation Oi is λi , implying cyclic scheduling A modulo scheduling problem at initiation interval λ is specified by πi = λ in the β field, because it requires that all the operations have the same processing period λ.

DOM2004 – July 2004

20

Regular Unwinding

Modulo Scheduling Relaxations

Application of the Graham List Scheduling Algorithm Theorem 3 Running the GLSA on the p-unwinded scheduling problem without dependences, with UET operations and with a priority function P such that P (Oik ) < P (Ojl ) ⇒ P (Oik+1 ) < P (Ojl+1 ) yields a 1-regular p-unwinded schedule. ¤ 0 ¡ ¤ 0 ¡ ¤£ £

Ojl 0 Ojl

¤¡¢ £¢

Oik

σik+1 − λ σik

Ojl 0+1

¡

£¤

¤¢¡

¡

¢

£

£¢

¢

Oik+1

Ojl+1

σik+1

Corollary 2 The modulo scheduling problem P |ri ; di ; pi = 1; πi = λ|• can be solved in pseudo-polynomial time. Proof: Build the corresponding p-unwinded scheduling problem, with p ≥ ρ¯. This yields a P |ri ; di ; pi = 1|• problem that is optimally solved by the GLSA using the earliest di first priority.

DOM2004 – July 2004

21

Regular Unwinding

Modulo Scheduling Relaxations

The Modified Deadlines Algorithm of Leung et al. 2001 “Scheduling Time-Constrained Instructions on Pipelined Processors”, A. Leung, K. V. Palem, A. Pnueli, ACM TOPLAS Vol. 23, No. 1. It solves the following problems in O(n2 log nα(n) + ne) time: 1|prec(lij ∈ {0, 1})|•

P |intOrder(mono lij ); ri ; di ; pi = 1|•

1|prec(lij ∈ {0, 1}); ri ; di ; pi = 1|•

P |inT ree(lij = l); di ; pi = 1|•

P 2|prec(lij ∈ {−1, 0}); ri ; di ; pi = 1|•

P |outT ree(lij = l); ri ; pi = 1|•

As introduced by Papadimitriou & Yannakakis [SIAMJC 1979], an interval-order is defined by an incomparability graph that is chordal. A monotone interval-order graph is an interval-order graph (V, E) with a weight function w on the arcs such that, given any (vi , vj ), (vi , vk ) ∈ E : w(vi , vj ) ≤ w(vi , vk ) whenever the predecessors of vj are included in the predecessors of vk . DOM2004 – July 2004

22

Regular Unwinding

Modulo Scheduling Relaxations

Application of the Modified Deadlines Algorithm Theorem 4 Unwinding a modulo scheduling problem P |circuit(θij , ωij ); ri ; di ; pi = 1; πi = λ|• and adding the regularizing dependences creates a P |intOrder(mono lij ); ri ; di ; pi = 1|• problem. Corollary 3 The modulo scheduling problem P |circuit(θij , ωij ); ri ; di ; pi = 1; πi = λ|• can be solved in pseudo-polynomial time. Proof: Build the corresponding p-unwinded scheduling problem, with p ≥ ρ¯, then add the regularizing dependences. This yields a P |intOrder(mono lij ); ri ; di ; pi = 1|• problem that is optimally solved by the Modified Deadlines Algorithm of Leung, Palem and Pnueli [TOPLAS 2001].

DOM2004 – July 2004

23

Regular Unwinding

Applications to Modulo Scheduling

Applications to Modulo Scheduling Principles of the Modified Deadlines Algorithm (Leung et al. 2001) 1. Using the “backward scheduling” technique, compute the latest possible date d0i , called “modified deadline”, any operation Oi can be scheduled at in any feasible schedule 2. Schedule the operations with the GLSA, using the earliest d0i first as the operation priorities; then, check that the resulting schedule does not miss any deadline 3. In case of minimizing the maximum completion time Cmax or the maximum lateness Lmax , binary search to find the minimum scheduling horizon such that the scheduling problem is feasible We are interested in applying this algorithm to unwinded scheduling problems, for the purposes of heuristic modulo scheduling. DOM2004 – July 2004

24

Regular Unwinding

Applications to Modulo Scheduling

The Backward Scheduling Technique (Leung et al. 2001) • Iterate in backward topological order on the scheduling problem operation set, to build a series of scheduling sub-problems def Si = {Oi , succi ∪ indepi , rj0 , d0j } • For each scheduling sub-problem Si , binary search for the latest schedule date p of Oi such that the constrained sub-problem (ri0 = p) ∧ Si is feasible. If there is such p, define the modified def deadline of Oi as d0i = p + 1. Else the original scheduling problem is infeasible. • To find if a constrained sub-problem (ri0 = p) ∧ Si is feasible, convert the transitive dependence lengths from Oi to all the other Oj of Si into release dates; then, forget the dependences. This yields a simpler scheduling problem P |ri ; di ; pi = 1|• which is optimally solved by the GLSA

DOM2004 – July 2004

25

Regular Unwinding

Applications to Modulo Scheduling

Stationarity of the Modified Deadlines Theorem 5 Given a regularized p-unwinded UET problem with P p ≥ s i (di − ri ) + s + 1, the modified deadlines computed by the algorithm of Leung, Palem and Pnueli [TOPLAS 2001] are s-successive stationary. Proof: The modified deadlines d0k i computed by the backward 0k+1 k scheduling process verify: d0k + λ ≤ d and rik + 1 ≤ d0k i ≤ di . The i i def dates {σi0k = d0k i − 1} define a pseudo 1-regular p-unwinded schedule, thus the proof of Theorem 2 applies. This result is useful when using the Modified Deadlines Algorithm to build the p-unwinded schedules: further backward scheduling is not necessary as soon as the modified deadlines d0k i become def stationary for s iterations. Moreover, using d0k = d01 i i + (k − 1)λ improves the convergence rate of the p-unwinded schedules. DOM2004 – July 2004

26

Regular Unwinding

Conclusions

Conclusions Summary of Results • Regular Unwinding is a new framework for Modulo Scheduling, based on the equivalence between modulo schedules and regularized p-unwinded schedules for p ≥ ρ¯ of pseudo-polynomial size • This equivalence enables to apply acyclic scheduling techniques to modulo scheduling problems: – The modulo scheduling problems P |ri ; di ; pi = 1; πi = λ|• and P |circuit(θij , ωij ); ri ; di ; pi = 1; πi = λ|• can be solved in pseudo-polynomial time – The Modified Deadlines Algorithm of Leung, Palem and Pnueli [TOPLAS 2001] can be applied to regularized p-unwinded scheduling problems at reduced cost DOM2004 – July 2004

27

Regular Unwinding

Conclusions

Future Work • The unwinding bound ρ¯ that ensures equivalence is too coarse and could possibly be improved: – Detect divergence earlier in case of no-delay scheduling of the unwinded problem – Further convergence properties of case of stationary GLSA scheduling priorities • Must compare Regular Unwinding heuristic scheduling with the mainstream modulo scheduling algorithms • Possible applications of the Regular Unwinding framework to other cyclic scheduling problems, such as hard real-time scheduling with harmonic periods

DOM2004 – July 2004

28

Modulo Scheduling with Regular Unwinding

Modulo Resource Constraints Each operation Oi requires bi ≥ 0 resources for all the time intervals. [σi + kλ, σi + .... with renewable resources [Dinechin 2003]:.

224KB Sizes 2 Downloads 228 Views

Recommend Documents

Modulo Scheduling with Regular Unwinding
requires bi ≥ 0 resources for all the time inter- ..... Proof: We defined the modulo scheduling problem ... Definition 1 A q-stationary p-unwinded schedule is a.

MODULO SCHEDULING WITH REGULAR UNWINDING 1 Introduction
1 Introduction. 1.1 Modulo Scheduling .... In parallel machine scheduling problems, an opera- ... πi = λi The processing period of operation Oi is λi, implying ...

Extending Modulo Scheduling with Memory Reference ...
on the Cray T3E demonstrate the benefits of memory reference merging. Introduction ... scheduling (block scheduling and software pipelining), and low-level cache opti- mizations ... amount of Cray custom logic, including hardware stream prefetchers [

Fast Modulo Scheduling Under the Simplex Scheduling ...
framework, where all the computations are performed symbolically with T the .... Indeed the renewable resources in an instruction scheduling problem are the ...

modulo orto botanico.pdf
Sign in. Loading… Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retrying.

MODULO CAPACITANCIA.pdf
Consulte el proceso de almacenamiento de energía de un capacitor. ¿Qué aplicaciones tiene un capacitor? INTRODUCCIÓN. Un capacitor es un elemento ...

Modulo magnetostatica.pdf
En 1600 William Gilbert, amplió los experimentos de Maricourt a una gran diversidad de materiales. A. partir de que la aguja de una brújula se orienta en direcciones preferidas, sugirió que la propia Tierra. es un gran imán permanente, figura 1.

Scheduling Multipacket Frames With Frame Deadlines⋆
As a last example, consider a database (or data center) engaged in trans- ferring truly huge files (e.g., petabytes of data) for replication purposes. It is common ..... in C. However, all frames have integer sizes, and thus their total size if at mo

On Regular Temporal Logics with Past*, **
this section, we fix a finite set P of propositions. ..... ver, S. Mador-Haim, E. Singerman, A. Tiemeyer, M. Y. Vardi, and Y. Zbar. ... IEEE Computer Society Press. 10.

On Regular Temporal Logics with Past - CiteSeerX
In fact, we show that RTL is exponentially more succinct than the cores of PSL and SVA. Furthermore, we present a translation of RTL into language-equivalent ...

Scheduling Multipacket Frames With Frame Deadlines⋆
As a last example, consider a database (or data center) engaged in trans- ferring truly huge files (e.g., petabytes of data) for replication purposes. It is common ..... in C. However, all frames have integer sizes, and thus their total size if at mo

Regular Expressions with .NET
Ignore Case Option. 21. SingleLine and MultiLine Options ...... This pattern will match several formats of U.S. phone numbers including the area code. Try it using the ..... The best way to learn Regular Expressions is through experimentation.

Modulo Tecnici Tennis.pdf
Page 1 of 2. Tennis – Sport Educazione e Formazione. Via Caravaggio, 44 – Cinisello Balsamo (MI). C.F.: 90063600028. Fax: 02/47951191 e-mail: ...

Modulo 4 - GEODATABASE.pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Modulo 4 - GEODATABASE.pdf. Modulo 4 - GEODATABASE.pdf.

Modulo iscrizione infanzia.pdf
Kediri: Nanang Priyo. Nganjuk: Agus Karyono, Adi Mulyadi. Madiun: Agoes Basoeki, Aribowo. Blitar: Hendik Budi Y. Trenggalek: Tatang Dahono Tuban: Syaiful Adam. Ponorogo: Siti Noor Aini. Jakarta: Khoirul Huda Sabily, M.Saefullah. Depok: Aan Humaidi. D

Modulo III Celula.pdf
1831: Robert Brown describió el núcleo celular. 1839: Purkinje observó el citoplasma celular. 1850: Rudolf Virchow postuló que todas las células provienen de ...

Modulo 1 capitulo 2 AMPL.pdf
Whoops! There was a problem loading more pages. Modulo 1 capitulo 2 AMPL.pdf. Modulo 1 capitulo 2 AMPL.pdf. Open. Extract. Open with. Sign In. Main menu.

MODULO 3.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. MODULO 3.pdf.

MODULO 2.pdf
Cr. Miguel Pedro Civallero. Page 3 of 316. MODULO 2.pdf. MODULO 2.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying MODULO 2.pdf. Page 1 of ...

AGROECOLOGIA MODULO III.pdf
(genética), entre las especies y de los ecosistemas. La gran biodiversidad es el resultado de la evolución de la vida a través de millones de años,.

MODULO 8.pdf
Loading… Whoops! There was a problem loading more pages. Whoops! There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. MODULO 8.pdf. MODULO 8.pdf. Open. Extract

Modulo Network Academy.pdf
Whoops! There was a problem previewing this document. Retrying... Download. Connect more apps... Modulo Network Academy.pdf. Modulo Network Academy.