text:
Next: Bounding Matrices: The Gate Up: CEM for Gaussian Mixture Previous: Bounding Scalars: The Gate

## Bounding Vectors: The Gate Means

Upon close observation, the above technique of taking derivatives of Q and setting them to zero seems to be intractable for the case of the means. The resulting derivative contains transcendental functions which can not be easily isolated to obtain an update equation. What we can do at this point is bound the Q function specifically for the means to get a nicer expression which can be easily maximized. We introduce the previously discussed parabolic bounds for the Qfunction as in Equation 7.21. Or, equivalently, each pair of gate and data point is individually bounded by a parabola as in Equation 7.22 (with height parameter kim, width parameter wim and location parameter ).

 (7.21)

 (7.22)

Once again, the contact point for this parabola (i.e. the ) is the value for the previous model or the mean of the gate before any iteration. Let us denote the previous parameters of the gate as and . To facilitate the derivation, we can perform what is commonly called a whitening operation on the coordinate system for each gate. For each gate, we can consider that its previous parameters where zero-mean and identity covariance. This is done by applying an affine transformation to the -space (i.e. shifting the data points appropriately). The data is translated by the mean and scaled by the inverse of the square root of the covariance matrix. In theory, nothing changes except that each gate observes affinely displaced data instead and it then seems to have a zero mean and identity covariance as its previous operating point. This whitening operation does not need to be done explicitly (i.e. numerically) but helps simplify the following derivation for the bound.

Thus, without loss of generality, we consider that each data point has been appropriately whitened for each gate. The result is that and . Using this assumption, we can compactly solve for the parameters of the bounding parabola ( ). This is done by meeting the three requirements (contact, tangentiality and tightness). The results is shown in Equation 7.23.

 (7.23)

As shown earlier, if a globally valid bound is desired, the value of wim must always be greater than the expression in Equation 7.23 no matter what the value of . Thus we can find the minimum wim (i.e. wminim) for which this is true and form a parabolic bound for the Q function that is as 'tight' as possible. We shall now determine an efficient way to compute wminim without searching the high dimensional space of each iteration.

Note in the expression for wim above that is used only in an inner product with itself ( ) or in an inner product with the whitened data point . Thus, we can represent these two quantities regardless of the dimensionality of the vector space using at most two degrees of freedom: the magnitude of and the cosine of the angle between the vectors and . Let us now denote the new variables as follows: is the magnitude of , is the magnitude of and is the cosine of the angle between the two vectors. We then compactly rewrite the bound as in Equation 7.24.

 (7.24)

The wim is now lower bounded by the right hand side which is a function of two free scalars and . We wish to find the maximum of the lower bound at some value of and . By taking derivatives of the right hand side with respect to and setting to 0, we find an extremum of the function at . However, we also note that and so . If we set we note that the this solution is always greater than the . So, the extremum we solved for was a minimum. Thus, the maximum occurs at the ends of the interval so . Therefore, we have the relationship . In other words, let us define . The expression for wim then simplifies into a function of 1 free variable (c) as in Equation 7.25.

 (7.25)

For each value of we find the value of c which maximizes the value of . This is done offline (taking a few seconds) using Brent's method and the result is stored in a 1D lookup table (LUT). The values are shown in Figure 7.3(a) where we plot the max of the g function with respect to . Using this table, we can immediately compute the minimum wminim by looking up the corresponding value of for the current data point and subsequently compute the rest of the parabolic bound's parameters.

An example of a parabolic bound is shown in Figure 7.3(b) under a sub-component of the Qfunction. This sub-component corresponds to a single data point as we vary one gate's uni-variate mean. Many such parabolic bounds are computed (one for each data point and gate combination) and are summed to bound the Q function in its entirety.

• Parabolic Piece-Wise Bound

For greater computational efficiency we compute the gradient of the Q on the mean to get an idea of the direction of steepest ascent. We can then know which general direction will move towards for the next iteration. Due to whitening, starts off at the origin and moves from there. Thus, we know if is moving close towards or farther away from it. Equivalently, we know if c will be positive or negative. The above LUT (Figure 7.3(a)) returns the wminim which is valid for all possible choices of c. However, if we know the direction c is going to move along, we only need to consider half of the possibilities in using Brent's method to find the max of . Thus, we obtain two LUTs for c positive and for cnegative as shown in Figure 7.4(a). This typically gives us an even tighter bound since we only need to bound the Q function in regions of the landscape where the locus of the maximum could move to. Thus, we are effectively approximating the landscape with two parabolas, which are cut at c=0. One is a bound for the values at c<0 and one for c>0. Figure 7.4(b) depicts this piece wise parabolic bound on a sub-component of Q. The function being bounded is represented with a continuous line. One parabola is composed of 'x' symbols and is a valid bound to the right of zero. The other parabola is composed of 'o' symbols and is valid to the left of zero. The piece-wise bound is composed of these two parabolas spliced at the origin (their continuations are shown as dotted lines for visualization). Thus, if the gradient tells us that we will be moving in a direction of increasing , we should compute the parabola made of 'x' symbols. However, if we are moving to the left (because of the sum total influence of the other bounds and functions), we should use the parabola made of 'o' symbols which is a wider and tighter bound.

To obtain a final answer for the update of the gate means we simply maximize the sum of parabolas which bounds the Q in its entirety. For M gates and N data points, we obtain parabolas each with its own ( ). The update is in Equation 7.26.

 (7.26)

Next: Bounding Matrices: The Gate Up: CEM for Gaussian Mixture Previous: Bounding Scalars: The Gate
Tony Jebara
1999-09-15


text:
# The Azimuth Project Experiments in predator-prey with Sage (Rev #6, changes)

Showing changes from revision #5 to #6: Added | Removed | Changed

# Contents

## Idea

Showing an easy way of doing predator-prey modeling in Sage. Right now it is a generic version

## Plot Details and Code

### Original Lotka-Volterra

# Predator prey in Sage. default for ode_solver runga-kutta-felhberg (4,5)
T = ode_solver()
T.function = lambda t, y: [y[0]-y[0]*y[1], -y[1]+y[0]*y[1]]
sol_lines = Graphics()
for i in srange(0.1,1.1,.1):
T.ode_solve(y_0=
[i,i],t_span=[0,10],num_points=1000)
y = T.solution
sol_lines = sol_lines + line([x[1] for x in y], rgbcolor = (i,0,1-i))
show(sol_lines+point((1,1),rgbcolor=(0,0,0)), figsize = [6,6], xmax = 6, ymax = 6)

This is the original Lotka-Volterra phase map for a non-dimensional form. This was posted on Marshall Hampon on the ask.sage site. Lotka-Volterra has many coarse “flaws” and has also been modified over time as we’ll see below. Dimensionless format of Lotka-Volterra. default for Sage ode_solver is to use runga-kutta-felhberg (4,5)

### Plot and Code

T = ode_solver()
T.function = lambda t, y: [y[0]-y[0]*y[1], -y[1]+y[0]*y[1]]
sol_lines = Graphics()
for i in srange(0.1,1.1,.1):
T.ode_solve(y_0=
[i,i],t_span=[0,10],num_points=1000)
y = T.solution
sol_lines += line([x[1] for x in y], rgbcolor = (i,0,1-i))
show(sol_lines+point((1,1),rgbcolor=(0,0,0)), figsize = [6,6], xmax = 6, ymax = 6)

### Interactive and more realistic Lotka-Volterra

Here we enable choice of the exponential growth in the original Lotka-Volterra and logistic growth. We also added a parameter g which is used in both and k which is the scaled carrying capacity. See if you can find the fixed point for the latter (using the code below)?

It should look like this:

def lv(g,k,growth):
Tg = ode_solver()
if growth == "Malthusian":
Tg.function = lambda t, y: [g*y[0]*(1-y[1]), (-1.0/g)*(1-y[0])]
else:
Tg.function = lambda t, y: [g*y[0]*(1-y[0]/k - y[1]), (-1.0/g)*(1-y[0])]
sol_lines = Graphics()
for i in srange(0.1,1.1,.2):
Tg.ode_solve(y_0=[i,i],t_span=[0,10],num_points=1000)
y = Tg.solution
sol_lines += line([x[1] for x in y], rgbcolor = (i,0,1-i))
return sol_lines

@interact
def _(g = (0.1,1.,0.1), k = (0.1,4.0,0.1), Growth=["Malthusian","Logistic"]):
show(lv(g,k,Growth),legend_label='Lv')

### Next step

We will look at cases where Lotka-Volterra might lead to Hopf bifurcation and also see if we can add the Allee effect

format: plain


text:
How to correct a QAM time delay

How can you correct the anticlockwise rotation that occurs in the received constellation of a QAM system?

My only idea is to compensate the delay with an advance but this is impossible since you would have to decode the message before receiving it.

• The rotation is not generally counterclockwise. What you're looking for is phase synchronization, and there's very many ways you do that in practice. We don't know the context of your question, so I can really only recommend you look into that term, phase synchronization. – Marcus Müller Jan 11 '19 at 16:16
• See this answer I gave previously on carrier recovery for QAM: dsp.stackexchange.com/questions/17297/… – Dan Boschen Oct 9 '19 at 2:52

If this represents the received signal where $$a$$ and $$b$$ are the real and imaginary parts respectively $$s(t-\Delta) \approx [a \cos{(2\pi f_o \Delta)}-b \sin{(2 \pi f_o \Delta)}] \phi(t) \sqrt{2} \cos{(2 \pi f_o t)} + [b \cos{(2 \pi f_o \Delta)} + a \sin{(2 \pi f_o \Delta)}] \phi(t) \sqrt{2} \sin{(2 \pi f_o t)}$$


text:
In this paper the approximate analytical solutions of period-1 motion in the periodically forced van der Pol oscillator are obtained by the generalized harmonic balance (HB) method. Such an approximate solution of periodic motion is given by the Fourier series expression, and the convergence of such an expression is guaranteed by the Fourier series theory of periodic functions. The approximate solution is different from traditional, approximate solution because the number of total harmonic terms ($N$) is determined by the precision of harmonic amplitude quantity level, set by the investigator (e.g., $AN≤ɛ$ and $ɛ=10-8$). The stability and bifurcation analysis of the period-1 solutions is completed through the eigenvalue analysis of the coefficient dynamical systems of the Fourier series expressions of periodic solutions, and numerical illustrations of period-1 motions are compared to verify the analytical solutions of periodic motions. The trajectories and analytical harmonic amplitude spectrum for stable and unstable periodic motions are presented. The harmonic amplitude spectrum shows the harmonic term effects on periodic motions, and one can directly know which harmonic terms contribute on periodic motions and the convergence of the Fourier series expression is clearly illustrated.

References

References
1.
van der Pol
,
B.
,
1920
, “
A Theory of the Amplitude of Free and Forced Triode Vibrations
,”
,
1
, pp.
701
710
.
2.
van der Pol
,
B.
, and
van der Mark
,
J.
,
1927
, “
Frequency Demultiplication
,”
Nature
,
120
pp.
363
364
.10.1038/120363a0
3.
Lagrange
,
J. L.
,
1788
,
Mecanique Analytique
,
Albert Balnchard
,
Paris
, Vol. 2.
4.
Fatou
,
P.
,
1928
, “
Sure′ le Mouvement d’un Systeme Soumis a′ des Forces a Courte Periode
,”
Bull. Soc. Math. France
,
56
, pp.
98
139
.
5.
Krylov
,
N. M.
, and
Bogolyubov
,
N. N.
,
1935
, “
Methodes Approchoes de la Mecanique Non Lineaire Dans Leur Application a l’6tude de la Perturbation des Mouvements Periodiques de Divers Phenomenes de Resonance s’y Rapportant
,” Academie des Sciences d’Ukraine, Kiev.
6.
Bogoliubov
,
N.
, and
Mitropolsky
,
Y.
,
1961
,
Asymptotic Methods in the Theory of Nonlinear Oscillations
,
Gordon and Breach
,
New York
.
7.
Hayashi
,
C.
1964
,
Nonlinear Oscillations in Physical Systems
,
McGraw-Hill
,
New York
, Vol. 33.
8.
Cap
,
F.
,
1974
, “
Averaging Method for the Solution of Nonlinear Differential Equations With Periodic Non-Harmonic Solutions
,”
Int. J. Non-Linear Mech.
,
9
, pp.
441
450
.10.1016/0020-7462(74)90010-9
9.
Coppola
, V
.
, and
Rand
,
R.
,
1990
, “
Averaging Using Elliptic Functions: Approximation of Limit Cycles
,”
Acta Mech.
,
81
, pp.
125
142
.10.1007/BF01176982
10.
Rand
,
R.
, and
Armbruster
,
D.
,
1987
,
Perturbation Methods, Bifurcation Theory, and Computer Algebra
,
Springer
,
New York.
11.
Garcia-Margallo
,
J.
, and
Bejarano
,
J. D.
,
1987
, “
A Generalization of the Method of Harmonic Balance
,”
J. Sound Vib.
,
116
, pp.
591
595
.10.1016/S0022-460X(87)81390-1
12.
Xu
,
Z.
, and
Cheung
,
Y.
,
1994
, “
Averaging Method Using Generalized Harmonic Functions for Strongly Nonlinear Oscillators
,”
J. Sound Vib.
,
174
, pp.
563
576
.10.1006/jsvi.1994.1294
13.
Buonomo
,
A.
,
1998
, “
On the Periodic Solution of the van der Pol Equation for the Small Damping Parameter
,”
Int. J. Circuit Theory Appl.
,
26
, pp.
39
52
.10.1002/(SICI)1097-007X(199801/02)26:1<39::AID-CTA6>3.0.CO;2-X
14.
Buonomo
,
A.
,
1998
, “
The Periodic Solution of van der Pol’s Equation
,”
SIAM J. Appl. Math.
,
59
, pp.
156
171
.10.1137/S0036139997319797
15.
Waluya
,
S. B.
, and
,
W. T.
,
2003
, “
On Approximation of First Integrals for a Strongly Nonlinear Forced Oscillator
,”
Nonlinear Dyn.
,
33
, pp.
225
252
.10.1023/A:1026058204654
16.
Luo
,
A. C. J.
, and
Huang
,
J.
,
2011
, “
Approximate Solutions of Periodic Motions in Nonlinear Systems via a Generalized Harmonic Balance
,”
J. Vib. Control
,
18
, pp.
1661
1671
.10.1177/1077546311421053
17.
Luo
,
A. C. J.
, and
Huang
,
J.
2012
, “
Analytical Dynamics of Period-m Flows and Chaos in Nonlinear Systems
,”
Int. J. Bifurcation Chaos
,
22
(
4
), p.
1250093
.10.1142/S0218127412500939
18.
Luo
,
A. C. J.
,
2012
,
Continuous Dynamical Systems
,
HEP-L&H Scientific
,
Beijing/Glen Carbon
.


text:
Power-aware applications for scientific cluster and distributed computing

Power-aware applications for scientific cluster and distributed computing

David Abdurachmanov, Peter Elmer , Giulio Eulisse, Paola Grosso, Curtis Hillegas, Burt Holzman, Ruben L. Janssen, Sander Klous, Robert Knight, Shahzad Muzaffar
Digital Science and Computing Center, Faculty of Mathematics and Informatics, Vilnius University, Vilnius, Lithuania
Department of Physics, Princeton University, Princeton, New Jersey 08540, USA
Fermilab, Batavia, IL 60510, USA
University of Amsterdam, Kruislaan 904, Amsterdam, The Netherlands
Research Computing, Office of Information Technology, Princeton University, Princeton, New Jersey 08540, USA
E-mail: Peter.Elmer@cern.ch
Speaker.
Abstract

The aggregate power use of computing hardware is an important cost factor in scientific cluster and distributed computing systems. The Worldwide LHC Computing Grid (WLCG) is a major example of such a distributed computing system, used primarily for high throughput computing (HTC) applications. It has a computing capacity and power consumption rivaling that of the largest supercomputers. The computing capacity required from this system is also expected to grow over the next decade. Optimizing the power utilization and cost of such systems is thus of great interest.

A number of trends currently underway will provide new opportunities for power-aware optimizations. We discuss how power-aware software applications and scheduling might be used to reduce power consumption, both as autonomous entities and as part of a (globally) distributed system. As concrete examples of computing centers we provide information on the large HEP-focused Tier-1 at FNAL, and the Tigress High Performance Computing Center at Princeton University, which provides HPC resources in a university context.

Power-aware applications for scientific cluster and distributed computing

David Abdurachmanov, Peter Elmerthanks: Speaker. , Giulio Eulisse, Paola Grosso, Curtis Hillegas, Burt Holzman, Ruben L. Janssen, Sander Klous, Robert Knight, Shahzad Muzaffar

Digital Science and Computing Center, Faculty of Mathematics and Informatics, Vilnius University, Vilnius, Lithuania

Department of Physics, Princeton University, Princeton, New Jersey 08540, USA

Fermilab, Batavia, IL 60510, USA

University of Amsterdam, Kruislaan 904, Amsterdam, The Netherlands

Research Computing, Office of Information Technology, Princeton University, Princeton, New Jersey 08540, USA

E-mail: Peter.Elmer@cern.ch

\abstract@cs

International Symposium on Grids and Clouds (ISGC) 2014, 23-28 March 2014 Academia Sinica, Taipei, Taiwan

1 Introduction

Over the past 15 years the use of globally distributed computing resources has been a critical ingredient for many large scientific projects. For example, the Worldwide LHC Computing Grid (WLCG) [1] has been built to serve the needs of the high energy physics (HEP) experiments at the Large Hadron Collider (LHC) [2] at the European Laboratory for Particle Physics (CERN) in Geneva, Switzerland. Numerous scientific results have been produced using the WLCG, including in particular the discovery of the Higgs Boson [3, 4], by the CMS [5] and Atlas [6] experiments, which led to the 2013 Nobel Prize in Physics.

The WLCG today brings together computing resources from nearly 160 computer centers in 35 countries, with approximately 350,000 x86 cores of compute power and 200PB of storage, with 10Gb network links connecting most centers. Although it is not traditionally considered as a supercomputer, the compute capacity of the WLCG resources is similar to those provided by the most powerful supercomputers [7]. Just as importantly, our rough estimates (scaling up from the set of machines currently in use at FNAL) of the power requirements of the WLCG are O(10MW), even before taking into account the Power Usage Effectiveness (PUE) of the participating computer centers. This is again in line with the most powerful supercomputers.

Planning is also underway for a major upgrade, the High Luminosity Large Hadron Collider (HL-LHC) [8], which will run through 2030. The data volume increase over the next 15 years will be O() and naive extrapolations from today’s software indicates that compute needs could increase by factors O(-), significantly faster than usual Moore’s Law extrapolations. Significant efforts will be required to reduce that to a level which is possible within funding limits, but it is likely that significant globally contributed compute resources will be continue to be required.

In this paper, we focus in particular on the power aspects of this large distributed computing system. The distributed ownership of the clusters which make up the WLCG implies that the resulting costs are also distributed, however optimizations are in principle possible at all levels. For a given set of hardware, there are three possible goals for throughput-oriented scientific computing applications:

1. optimizing for maximum performance or throughput (the primary focus today), and/or

2. optimizing to reduce the total power use for fixed throughput, i.e. the power efficiency (throughput per Watt), and/or

3. optimizing to reduce total power cost for a given throughput

We will refer back to these three goals in the later sections of this note.

2 Computing Model - Current Practice

The construction of the WLCG was greatly facilitated by the convergence, around the year 2000, on Linux and commodity x86 processors as the standard for HTC scientific clusters like those used in HEP. The resulting homogeneity significantly simplified the use of the compute resources as a “build once, run anywhere” scheduling model was possible for the application software.

The distributed computing and data management models of HEP experiments, however, introduced a simplifying restriction whereby “jobs are sent to data”. The computing model of the CMS experiment [9] is a typical example. Datasets are transferred in advance and placed statically in storage (e.g. with tools like PhEDEx [10]) in one or more centers. Each time it is necessary to run an application using data from those datasets as input, the relevant application software is transferred to one of the centers where the required input data can be read via LAN access from site-local storage (“data locality”). In order to insure the full utilization of compute resources replicas of data are made manually in multiple sites as required. In the first years of the WLCG many of the computer centers were new and not yet operating at full reliability. The static placement strategy minimized dependencies between centers and allowed for efficient and scalable commissioning of the resources. It had however the disadvantage of requiring significantly more storage than strictly necessary due to the dataset replication. The wide area network (WAN) was also underutilized as a resource, despite being significantly more robust than originally imagined.

The applications used in HEP are embarrassingly parallel, with no communication required between running instances. Each application simply reads some piece of input data and outputs as a result some processed or reduced version of that data. The applications themselves have a simple, sequential design (no threading). This was consistent with the decades long trend by industry to turn exponential increases in transistor counts over time for the same cost (Moore’s Law) into equivalent exponential gains in the performance of sequential software applications like those used in HEP. Around 2005, power density limitations in chips ended this trend, and sequential applications can no longer be made to run exponentially faster on subsequent generations of processors [11]. This is true even if the underlying transistor count continues to increase per Moore’s Law. The initial response of industry to these power density limits was the introduction of “multi-core” CPUs, with more than one functional processor on a chip. HEP responded to the evolution from single-core to multi-core by simply scheduling additional sequential applications onto the additional cores. In this way net throughput continues to scale roughly with Moore’s Law even if individual application performance does not. As a downside, this has greatly increased the number of simultaneous running jobs in the computing systems, increased the total amount of memory needed and placed more stringent requirements on the scalability of job management systems, data access systems, and so forth.

While aggregate power costs and limitations have been important in individual centers, the WLCG system as a whole does not account for or use information about power use or costs operationally, nor do the systems or software used by the WLCG users (i.e. HEP experiments).

3 Computing Model - Evolution

The computing model described in Sec. 2 represents the period in which the WLCG was created through the end of the first LHC Run (2006-2013). The computing model is now evolving, or under pressure to evolve, for a variety of reasons. In this section we go through the most important changes and argue that, taken together, they enable an operational model where the WLCG can be treated as an integrated, global “power-aware” system.

3.1 Transition to multi-core aware software applications

As described earlier, the introduction of multicore processors in 2005 was an epochal change. Power (density) limitations ended the era of Moore’s Law scaling for sequential applications, as multi-core processors were introduced. Since the available applications were still sequential (non-threaded), an “application per core” scheduling model was adopted. As more cores appear in processors, this model led to the use of batch schedulers to schedule ever smaller fractions of the total computing resources (within batch nodes, and within individual CPU dies).

HEP experiments are now in the process of transitioning to multi-core aware (threaded) application frameworks [12, 13, 14] which are capable of scheduling work across multiple cores. In the near term, this will resolve some current problems with the “application per core” model, such as ever increasing total memory requirements and scheduler scaling issues with the number of total jobs. In the medium term, however, it represents a significant opportunity for optimization of the processor use, both for performance and for power, at the application level. Although programming multi-threaded applications is more complex than sequential applications, they can potentially make choices and coordinate resources for performance and power efficiency better than coarse-grained, incoherent scheduling of independent processes by a batch scheduler. The newer model will be hierarchical: the batch scheduler will schedule a larger resource (e.g. a whole node) and within that the software application will schedule local resources.

For various data management, workflow or bookkeeping reasons, it is also often the case that individual jobs are configured to process a minimum amount of input data (e.g. an entire file or data taken during a fixed amount of time such as a “luminosity section”). This minimum “job size” often implies a minimum wall clock time duration for jobs which can at times be many hours or, in extreme cases, days. Before 2005 increasing processor clock frequencies reduced these minimum job durations over time. In the multicore era, only multi-threaded applications can reduce wall clock times for such jobs. Jobs which complete in a shorter wall clock time, but nonetheless use many processor cores, are useful when power costs vary over the day.

3.2 Processor Technology

The same power density limitations that led to multicore CPU’s are having additional effects. The performance-per-cost improvement of 40% or more per year, seen in the 1990’s and early 2000’s [15], has been replaced by more meager expectations of 20-25% per year [16], even when taking into account the full use of multicore processors. In the worst case, this corresponds to a factor of 6 growth instead of a factor of 30 from Moore’s Law over the next decade. The need for larger performance gains drives interest in the use of other processor architectures, including “lightweight” low-power general purpose cores, specialized architectures like GPUs and/or large vector units, etc. These architectures typically have better performance per watt than today’s standard general purpose cores, however fully exploiting these newer architectures typically implies significant reengineering of software applications [11, 17].

Examples of these alternate architectures are already being deployed today, in the form of coprocessors (GPUs and Intel’s Xeon Phi), in computer centers shared with other scientific fields. HEP applications are in general not yet capable of using them, however many preliminary studies have been done [18, 19, 20, 21, 22, 23, 24, 25] and a few specific applications are leading the way [27, 26, 28, 29]. Several groups have investigated the use of low power mobile processors (e.g. ARM) for HEP applications [30, 31, 32]. In fact there is some expectation that the power density limitations will lead to System-on-Chip (SoC) [33] architectures mixing special purpose GPUs with lower power general purpose cores. The net effect of this evolution will be significantly more heterogeneity in the computing systems in use, with large variations in performance and power characteristics both within a given center and between centers. In addition significant variation in the efficiency with which applications use any given hardware configuration is likely.

3.3 Data Federations

The reliability of all WLCG computer centers has greatly improved from the experience gained during the first LHC run. More sophisticated data management and access models are thus possible. In particular it is now possible to relax the “data locality” requirement. For example, CMS is currently deploying a worldwide data federation [34] using the xrootd data access system to access data remotely across the WAN [35, 36]. Via the data federation an application running in one center can open a file for reading, and the system will find and allow remote reads from a copy of the file wherever it is located in the world. Efficient remote access to data removes compute and storage locality requirements, and allows for many additional job scheduling options for throughput or power efficiency reasons.

3.4 WLCG as a global power-using computing system

As described above, the WLCG is evolving. The introduction of multi-threaded applications and the decoupling of locality requirements for storage add significant new flexibility to global job scheduling. At the same time, evolution towards heterogeneous computing hardware and heterogeneous resource provisioning will require more sophisticated approaches to achieve both maximum throughput and power efficient usage. As such, it becomes possible to consider the WLCG not only as a globally distributed computing system, but also as a system with significant power requirements and many opportunities for optimization of the power use.

4 Existing Research on Energy Efficiency

Optimization of power costs for large computing centers is of general interest and significant research has been done. Already in 2007 energy proportional computing [37] was identified as an emerging focus area for data centers and large scale infrastructures. The goal in data centers was and is threefold, namely one wants to:

• decrease consumption in order to achieve lower operating costs and reduce environmental impact

• maintain performance by exploiting better energy proportionality of hardware components

• schedule applications in an energy optimal manner.

Reducing the power costs of large scale infrastructures can be accomplished in several manners. [38] and [39] were among the first to propose to exploit the differences in energy pricing in order to place location of computation in a power aware manner. The knowledge of the actual power profiles of the equipment in the data centers and of the network devices connecting them allows to distribute computation and data storage more efficiently, as we have shown in [40].

Exploiting hardware characteristics requires proper models and energy profiles of hardware components. Work in this area abounds: [41] focused on modeling virtual machine’s contribution to the consumption of physical nodes; [42, 43] proposed statistical power models for GPUs; [44] profiles network equipment. Application scheduling and resource scheduling are emerging now as an integrated approach for large scale distributed systems [45].

In the High Performance Computing (HPC) area, there has been much focus in recent years on Exascale Computing [47, 46], including the challenge of limiting the total power consumption of such machines to O(20MW). Exascale computing has some points in common with HTC, in particular regarding the evolution of hardware. However it differs in two important ways. First, synchronization requirements of large parallel HPC applications place more constraints on runtime scheduling choices and use of power saving functionalities (e.g. dynamic voltage and frequency scaling, DVFS) than HTC applications, which can be deployed independently in a fine-grained fashion. Second, whereas an HPC installation will be located in a single location with a single hardware architecture, distributed HTC (as in the WLCG) allows for exploitation of geographically heterogeneous power costs and heterogeneous hardware choices.

In this note, we explore the application of some of these ideas to distributed HTC systems, taking into account the specific characteristics of these kinds of applications.

5 Example Computer Centers

No full compilation of the energy use of all of the WLCG centers exists at this time. Here we provide some illustrative examples of relevant characteristics for two large computing centers.

5.1 Princeton University Tigress High Performance Computing Center

The Tigress High Performance Computing Center at Princeton University is an example of a university research computing facility used for a broad mix of scientific and engineering research purposes including both traditional HPC and batch-oriented high throughput applications. Although not currently integrated into WLCG, it is used as a Tier3 resource by CMS.

The dedicated computer center was built with the intention of replacing the research computing clusters set up by individual departments and research groups in university buildings not designed for that purpose. The center opened in 2011 on the Princeton Forrestal campus. It was designed for up to 5MW utility power into the building and 3MW to the data hall at full build out (currently only 1.8MW of UPS is provisioned). To supplement the utility power, it has a 2.5MW emergency diesel generator and a 2.0MW natural gas generator. The latter is used at times that electricity is expensive, currently 1800+ hours per year. It is designed for a PUE of 1.5 at full build out, and currently varies 1.4-1.7. Typical power use today is 1.2MW.

Power costs range from $0.08 to$0.80 / kW hour in New Jersey, with an average of $0.09 -$0.10 / kW-hour. Princeton pays on a minute by minute basis. The co-generation plant on campus includes predictive modeling to know when to turn on and off. The natural gas generator leverages this capability to know when to turn on and off. While not all electricity markets have this kind of dynamic pricing, in places where it exists it provides for work scheduling choices to reduce power cost.

5.2 FNAL Tier 1 Computing Center

Fermi National Accelerator Laboratory (FNAL), in Batavia, IL (USA) provides Tier-1 computing center resources as part of the CMS experiment. Fig. 1 shows the average CPU utilization efficiency over the past year for the set of nodes comprising the WLCG Tier1 computing center. The average CPU efficiency varies over time and in practice is often less than 100%. Fig. 2 shows the utilization by job type for both the Tier1 and for a dedicated analysis cluster. Two things are visible. First, utilization of all available job slots is high, but not always 100%. At times some slots will be idle. Second, the origin of the variation in CPU utilization efficiency is clearer: jobs can be classified into two rough categories: “production” jobs with high CPU efficiency and “analysis” jobs with lower efficiency. The analysis jobs typically need to read more data (relative to computation) and are waiting on input data. (The change in job mix can in part be attributed to the fact that early 2014 corresponds to the midpoint of a 2 year shutdown of the LHC for upgrades, and thus a reduced need for “production” jobs and a higher fraction of analysis jobs.) The type characteristics of jobs are often known or can be measured, as 100’s or 1000’s of jobs of a given type are usually submitted together. Again, work scheduling choices can reduce power cost.

6 Computing Hardware

The power consumption of individual hardware components, in particular processors, is one important ingredient for the optimization of overall power use and cost. Most WLCG sites have multiple purchases of computing nodes made over the past 4-5 years, with some reporting nodes in use for up to 8 years after purchase. Different generations of nodes having wildly different performance per unit power characteristics. (Up to a factor of 20 in the case of 8 years of purchases.) In addition, the future introduction of either low-power cores or co-processor cards (GPUs, Xeon Phi), coupled with varying application efficiency in using them, will introduce further heterogeneity.

When jobs are not 100% efficient an additional important aspect is the power proportionality of the systems. Fig. 3 shows one such comparison, between a standard x86 server and (for illustration) a simple development board for a low-power processor. In cases where CPU utilization is less than 100% due to job inefficiency or due to empty job slots (idle cores), these curves illustrate the varying cost of different machines. Also in this case, the introduction of co-processors will change significantly these curves, and their importance will grow as application efficiency in using the co-processors may vary significantly. For hardware combinations that are not fully power-proportional (i.e. consuming zero power for zero throughput), the most power-efficient working point is of course 100% utilization, but this is not always achievable.

Note that the non-zero idle power contains contributions not only from the (idle) processor, but also from the motherboard, power supply, internal disks and the bulk memory. HTC clusters are often built to “worst case” application requirements and typically extra memory and/or local disk capacity is added because of small purchase-time cost. As power use and cost become more important, characterization of power proportionality curves at purchase time will also help quantify eventual operational costs from such choices.

7 Performance-Aware Applications and Scheduling

Before considering the power-related aspects of applications and scheduling, we first consider additional emerging opportunities from performance-aware applications and scheduling, i.e. goal (a) in Sec. 1.

An application’s performance can be characterized by its throughput, CPU efficiency, memory use, etc. Today’s simple, sequential applications are however typically not designed to measure anything about their performance because they were not designed with any significant run-time adaption to change their behavior. At best they make such measurements, but purely for reporting purposes. All “adaption” is usually left to external entities such as the workflow management system or even to the user/programmer to adapt in the next version of the program.

As described in Sec. 3.1 and 3.2 application designs are evolving to use multiple cores and specialized processing capabilities such as GPUs, explicitly taking on work- and resource-scheduling responsibilities that sequential applications lacked. These designs in principle can evolve to measure performance and adapt the amount and type of work they schedule within the application to maximize throughput. Typically they do this today in a basic fashion at job startup, e.g. by noting the number of cores and/or GPUs available and configuring the job to use them. Similar optimizations are possible for memory and local disk use for caches. A logical next step would be for the job to adapt itself as it runs based on performance measurements, e.g. by starting additional threads, scheduling larger chunks of input data, etc. This kind of fine-grained performance optimization cannot be done by a batch scheduler, but only by the software application itself.

Performance measurements from the application itself, especially in terms of “average throughput” achieved, can also be used for more effective job scheduling. (We use throughput, meaning average output per unit time, and not absolute output, as the latter will vary depending on particular job configurations.) Already today, sequential application performance will vary from (general purpose) core to core depending on processor type (CPU, cache memory, etc.). How it varies will also depend on the specifics of the particular application type. Note that it should be possible for each application type to measure “throughput” on its own terms. Rather than use the absolute value of that quantity for scheduling purposes, suitably normalized (across processor type) averages can be calculated and the marginal advantage of any particular scheduling choice could in principle be calculated and comparisons made between different application types. This becomes even more interesting as hardware becomes heterogeneous and application designs permit running on multiple hardware configurations (e.g. code which runs via OpenCL on both CPUs and GPUs). In this way, scheduling choices can be made to maximize the overall throughput of the heterogeneous system with a mix of application types.

8 Power-Aware Computing

Once optimizations to achieve maximum throughput have been made, a logical next step would optimization of power use or cost for a given throughput, i.e. goals (b) and (c) from Sec. 1. We consider a number of cases.

In the simple case where there is insufficient work in the queue (i.e. job slots are empty, as is seen from time to time in Fig. 2), two possibilities exist. The simplest solution is that new jobs can be scheduled on the most power efficient hardware possible. For general purpose CPUs, the power efficiency can simply be determined via one-time hardware characterization and used for all subsequent scheduling choices. For more complex heterogeneous mixes or varying CPU utilization efficiencies, power-aware applications might be needed to provide both throughput and power use characterization of each application type. Measuring the power requires both hardware and operating system support (e.g. via interfaces such as IPMI). A more complex solution would be aggregation (via scheduling or virtual machine migration) of all jobs on the most power efficient nodes and (temporary) powering down unused nodes if their idle power is non-negligible.

In the more common case where a sufficient queue of work exists, but the applications have a mix of processor utilization efficiencies, two possibilities exist. Processor utilization efficiencies can be less than 100% for multiple reasons, including latencies due to input and output (I/O) of data, insufficient parallel computation (for multi-threaded or codes which use coprocessors) and/or insufficient memory. As in the previous section one can still define a throughput metric for each application type on its own terms, and similarly a throughput per power metric, and use these to do job scheduling. Note that this naturally encompasses situations where a particular application cannot use a coprocessor card such as a GPU, but is able to use the host CPUs on the same machine. The gain in terms of relative throughput for each application type for scheduling choices as well as idle power is treated quantitatively.

In the presence of process inefficiency and when sufficient memory is available, one strategy today to increase the aggregate throughput is to overschedule the compute resource with multiple jobs. Some sites in fact do this, however it is limited by the available memory and in cases where I/O is limited by filesystem access rather than latencies it may be counterproductive. In addition, overscheduling of emerging architectures (larger numbers of lower power cores, coprocessor cards) is more complex than general purpose cores.

Thus the two methods for exploiting a mix of application efficiencies both aim to reduce power cost, but exploiting temporal or geographical price variations in power cost. As described in the Tigress example in Sec. 5.1, power costs can vary dynamically in some centers and some component of this variation is predictable (e.g. day/night or peak/off-peak use variations). The temporal power-aware scheduling choice within a single center would be to schedule the most processor efficient jobs (with the highest power needs) during the periods of lowest power cost, and those with lower processor utilization efficiency during the periods of higher cost. Net throughput would in principle remain the same on average. Similarly, a geographical power-aware scheduling choice is available on distributed computing systems like the WLCG which takes advantage of the fact that the phase of temporal variation and average local power costs vary from center to center.

8.1 Simulation results

A simple simulation [48] allowed us to quantify the relation between possible performance improvements and energy savings in the WLCG under different scheduling policies. We focused on seven Tier2 sites, for which we knew the processor types present and the job history from information in the CMS Dashboard [49]. Fig. 4 shows the scheduling scheme we simulated; we relied on two sets, a processor set and an available job set, to couple jobs and processor with each other. The processor set distinguishes available nodes in terms of their performance. The job set relies on information from actual WLCG job logs to classify incoming jobs as low and high CPU efficient based on the author previous running history.

Once a processor becomes available the scheduling algorithm will find the best job in the job pool for the specific processor. For our experiments we used three different types of algorithms: (1) FIFO scheduling selects the first initiated job in the queue is executed first; (2) Energy efficient scheduling aims to schedule CPU intensive jobs on relatively energy efficient processors. This results in lower total energy consumption as CPU intensive jobs benefit more than the lesser CPU intensive jobs of the better energy profile of the processor; and (3) CPU performance scheduling schedules jobs to processors with a performance that is proportional to the estimated relative CPU efficiency of the job. Fig. 5 shows that both the performance and energy scheduling significantly reduce energy consumption in comparison to FIFO scheduling; the average improvements over the seven sites are respectively 6.74% and 7.07%. Similarly Fig. 6 shows an improvement in the performance of the two efficiency-oriented algorithms over the basic scheduler. The average improvement in this case is 3.44% for the CPU scheduling and 2.95% for the energy scheduling.

These results don’t identify energy or performance scheduling to be best, but clearly show that they should be preferred to job and processor agnostic schedulers. Given the focus in Tier2 sites is on performance the CPU performance scheduler will be in most cases the optimal choice.

9 Conclusions and Future Work

In the preceding sections, we have described general ideas as to how power optimizations could be made on a large distributed computing system like the WLCG. We take into account current and future computing models and foreseen technology evolution.

The first step we are taking is to model distributed systems such as the WLCG that present different power cost functions, heterogeneous hardware choices and serve a diverse range of applications. Our upcoming work will proceed in steps toward this goal. First we will determine what it is possible to measure today at each of the sites in terms of power use, as well as possible variations the power costs in WLCG computer centers. Secondly, this macro knowledge will be coupled with further characterization of the evolving power and performance characteristics of available hardware, including coprocessors and SoCs. Ultimately by determining what node/processor level power savings might be possible through application choices, we will be able to develop power aware applications on heterogeneous hardware and we will examine power and throughput impact of power-aware scheduling.

In this paper we have discussed the application and exploitation of various techniques to reduce power consumption and cost in distributed high throughput computing clusters such as the WLCG. Such techniques will be of use to build the computing systems of ever greater computational throughput required for the scientific problems of the next decade and beyond.

Acknowledgments

This work was partially supported by the National Science Foundation, under Cooperative Agreement PHY-1120138, and by the U.S. Department of Energy.

References

• [1] Bird I 2011 Computing for the Large Hadron Collider Annual Review of Nuclear and Particle Science 61 99-118
• [2] Evans L and Bryant P 2008 LHC Machine JINST 3 S08001
• [3] Chatrchyan S et al (CMS Collaboration) 2012 Observation of a new boson at a mass of 125 GeV with the CMS experiment at the LHC Phys.Lett. B716 30-61
• [4] Aad G et al (Atlas Collaboration) 2012 Observation of a new particle in the search for the Standard Model Higgs boson with the ATLAS detector at the LHC Phys.Lett. B716 1-29
• [5] Chatrchyan S et al (CMS Collaboration) 2008 The CMS experiment at the CERN LHC JINST 3 S08004
• [6] Aad G et al (Atlas Collaboration) 2008 The Atlas Experiment at the CERN Large Hadron Collider JINST 3 S08003
• [7]
• [8] Rossi L and Bruning O 2012 High Luminosity Large Hadron Collider - A description for the European Strategy Preparatory Group, CERN report CERN-ATS-2012-236
• [9] Bayatyan G L et al 2005 CMS Computing Technical Design Report, CERN Report CERN-LHCC-2005-023
• [10] Rehn J et al 2006 PhEDEx high-throughput data transfer management system Proceedings of Computing in High Energy Physics (CHEP 2006), Mumbai
• [11] Fuller S H and Millet L I (Editors) 2011 The Future of Computing Performance: Game Over or Next Level? The National Academies Press.
• [12] Jones C D, Elmer P, Sexton-Kennedy L, Green C and Baldooci A 2011 Multi-core aware applications in CMS J. Phys.: Conf. Ser. 331 042012
• [13] Jones C D and Sexton-Kennedy E 2014 Stitched Together: Transitioning CMS to a Hierarchical Threaded Framework, J. Phys. Conf. Ser. 513 022034
• [14] Clemencic M, Hegner B, Mato P and Piparo D 2014 Introducing Concurrency in the Gaudi Data Processing Framework, J. Phys. Conf. Ser. 513 022013
• [15] Ekman M, Warg F and Nilsson J 2005 An In-depth Look at Computer Performance Growth SIGARCH Comput. Archit. News 33 144-147
• [16] CERN IT Technology, Market and Cost Trends 2012, available at http://wlcg.web.cern.ch/news/technology-market-cost-trends
• [17] Elmer P, Rappoccio S, Stenson K and Wittich P 2013 The Need for an R&D and Upgrade Program for CMS Software and Computing [arXiv:1308.1247]
• [18] Mattmann J et al 2012 Track finding in ATLAS using GPUs J. Phys. Conf. Ser. 396 022035
• [19] Halyo V, LeGresley P, Lujan P, Karpusenko V and Vladimirov A 2014 First Evaluation of the CPU, GPGPU and MIC Architectures for Real Time Particle Tracking based on Hough Transform at the LHC, JINST 9 P04005
• [20] Funke D, Hauth T, Innocente V, Quast G, Sanders P and Schieferdecker D 2014 Parallel track reconstruction in CMS using the cellular automaton approach, J. Phys. Conf. Ser. 513 052010
• [21] Amerio S et al Many-core applications to online track reconstruction in HEP experiments, J. Phys. Conf. Ser. 513 012002
• [22] Amerio S et al 2013 Applications of Many-Core Technologies to On-line Event Reconstruction in High Energy Physics Experiments, presented at IEEE NSS 2013.
• [23] Clark P J et al. 2011 Algorithm acceleration from GPGPUs for the ATLAS upgrade J. Phys. Conf. Ser. 331 022031
• [24] Emeliyanov D and Howard J 2012 GPU-based tracking algorithms for the ATLAS high-level trigger J. Phys. Conf. Ser. 396 012018
• [25] Hauth T, Innocente V and Piparo D 2012 Development and Evaluation of Vectorised and Multi-Core Event Reconstruction Algorithms within the CMS Software Framework J. Phys. Conf. Ser. 396 052065
• [26] Andreassen R, Meadows B T, de Silva M, Sokoloff M D and Tomko K 2014 GooFit: A library for massively parallelising maximum-likelihood fits, J. Phys. Conf. Ser. 513 052003
• [27] Gorbunov S et al 2011 ALICE HLT High Speed Tracking on GPU IEEE Trans. Nucl. Sci. 58
• [28] Hagiwara K, Kanzaki J, Li Q, Okamura N, and Stelzer T 2013 Fast computation of MadGraph amplitudes on graphics processing unit (GPU), submitted to Eur. Phys. J. C
• [29] Merck M et al. 2012 IceCube’s GPGPU cluster for extensive MC production J. Phys. Conf. Ser. 396 022046
• [30] Abdurachmanov D, Elmer P, Eulisse G and Muzaffar S 2014 Initial Explorations of ARM Processors for Scientific Computing, J. Phys. Conf. Ser. 523 012009 [arXiv 1311.0269]
• [31] Abdurachmanov D, Arya K, Bendavid J, Boccali T, Cooperman G, Dotti A, Elmer P, Eulisse G, Giacomini F, Jones C D, Manzali M and Muzaffar S 2014 Explorations of the Viability of ARM and Xeon Phi for Physics Processing, J. Phys. Conf. Ser. 513 052008 [arXiv 1311.1001]
• [32] Clemencic M, Couturier B, Neufeld N and Subbiah V K 2014 Measurements of the LHCb software stack on the ARM architecture, J. Phys. Conf. Ser. 513 052014
• [33] Rajovic N, Carpenter P M, Gelado I, Puzovic N, Ramirez A and Valero M 2013 Supercomputing with commodity CPUs: are mobile SoCs ready for HPC?, Proceedings of SC13: International Conference for High Performance Computing, Networking, Storage and Analysis (SC13), Article 40.
• [34] Bloom K et al (CMS Collaboration) 2014 CMS Use of a Data Federation, J. Phys. Conf. Ser. 513 042005
• [35] Dorigo A, Elmer P, Furano F and Hanushevsky A 2005 XROOTD - A highly scalable architecture for data access WSEAS Transactions on Computers 4.3 (2005)
• [36] Furano F, Elmer P, Hanushevsky A and Gerardo G 2006 Latencies and Data Access. Boosting the performance of distributed applications Proceedings of Computing in High Energy Physics (CHEP 2006), Mumbai
• [37] Barroso L and Holzle U 2007 The Case for Energy-Proportional Computing IEEE Computer 40
• [38] Qureshi A, Weber R, Balakrishnan H, Guttag J, Maggs B 2009 Cutting the electric bill for internet-scale systems, ACM SIGCOMM Comput. Commun. Rev 39(4), 123-134
• [39] Rao L, Liu X, Xie L, Liu W 2010 Minimizing electricity cost: optimization of distributed internet data centers in a multi-electricity-market environment, in INFOCOM, 2010 Proceedings IEEE. IEEE, San Diego, pp 1-9
• [40] M. Makkes, A. Taal, A. Osseyran and P. Grosso A decision framework for placement of applications in clouds that minimizes their carbon footprint In: Journal of Cloud Computing: Advances, Systems and Applications 2013, Vol.2
• [41] Q. Chen , P. Grosso , K. van der Veldt , C. de Laat , R. Hofman , H. Bal, Profiling Energy Consumption of VMs for Green Cloud Computing, Proceedings of the 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing, p.768-775, December 12-14, 2011
• [42] X. Ma, M. Dong, L. Zhong, and Z. Deng, “Statistical power consumption analysis and modeling for gpu-based computing”, SOSP Workshop on Power Aware Computing and Systems (HotPower09), 2009.
• [43] H. Nagasaka, N. Maruyama, A. Nukada, T. Endo, and S. Matsuoka, “Statistical power modeling of GPU kernels using performance counters”, The first international green computing conference, 2010.
• [44] J. Chabarek, J. Sommers, P. Barford, C. Estan, D. Tsiang, and S. Wright, “Power Awareness in Network Design and Routing”, INFOCOM, 2008
• [45] Future Generation Computer Systems Special Section: Energy efficiency in large-scale distributed systems Volume 28, Issue 5, Pages 709-822 (May 2012) Edited by Tuan Anh Trinh, Helmut Hlavacs and Domenico Talia
• [46] The Scientific Grand Challenges: Architectures and Technology for Extreme Scale Computing, December 8-10, 2009, San Diego, CA (DOE ASCR 2011)
• [47] Exascale Programming Challenges: Report of the 2011 Workshop on Exascale Programming Challenges, July 27-29, 2011, Marina del Rey, CA (DOE ASCR 2011)
• [48] Ruben Janssen - “Reducing the energy consumption and costs of the WLCG by predicting job CPU efficiency”, unpublished Bachelor Thesis 2014 UvA (supervisors: dr. P. Grosso and dr. P. Elmer)
• [49] Andreeva J et al 2012 Experiment Dashboard - a generic, scalable solution for monitoring of the LHC computing activities, distributed sites and services J. Phys. Conf. Ser. 396 032093
You are adding the first comment!
How to quickly get a good reply:
• Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
• Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
• Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters


text:
\iff - Tex Command

NAME

\iff - Used to draw if and only if symbol.

SYNOPSIS

{ \iff }

DESCRIPTION

\iff command draws if and only if symbol.

EXAMPLE

1. \iff
$\iff$


text:
# Geometry & Topology Seminar 2016

To suggest speakers, propose a talk, be added to or removed from the mailing list, or for any other information, please contact Haotian Wu, Robert Haraway or Stephan Tillmann.

The titles below should be linked to the abstracts.

## Semester 2, 2016

Talks in Semester 2 will be on Wednesdays from 12:00–13:00 in Carslaw 535A unless noted otherwise. The titles below should be linked to the abstracts.

 Thursday 14 July Martin Schmidt (Mannheim) The analysis of constrained Willmore surfaces from the viewpoint of quaternionic function theory Wednesday 27 July Robert Tang (Oklahoma) Veech surfaces and simple closed curves Wednesday 3 August Cristian Virdol (Yonsei) Artin’s conjecture for abelian varieties Wednesday 10 August Haotian Wu (Sydney) Metrics with non-negative Ricci curvature on convex three-manifolds Wednesday 17 August Montek Gill (Michigan) Are compact 3-manifold groups residually PSL(2,R) for finite, commutative R? Wednesday 24 August Xiao Zhang (Chinese Academy of Sciences) Nonexistence of time-periodic solutions of the Dirac equation in nonextreme Kerr-Newman-AdS spacetime Wednesday 31 August Valery Alexeev (University of Georgia) Tilings in algebraic geometry Wednesday 7 September Robert Haraway (Sydney) Heegaard realizability Wednesday 14 September Cameron Rogers (Newcastle) Investigating the connections between the convergence properties of return probabilities and Folner sequences Wednesday 21 September Satoshi Koike (Hyogo) Finiteness theorem for Blow-Nash triviality of a family of Nash surfaces Friday 23 September 10:30–11:30 in Carslaw 535A Yann Bernard (Monash) Energy quantisation for the Willmore functional Wednesday 5 October Stephan Tillmann (Sydney) Multisections of manifolds Wednesday 12 October Bea Bleile (University of New England) Fundamental Triples and Poincaré Duality Complexes with Highly Connected Universal Covers Wednesday 19 October Alessandro Ottazzi (UNSW) Isometries in homogeneous metric manifolds Wednesday 26 October Alex Casella (Sydney) Fock and Goncharov Moduli Space and its Poisson Structure Wednesday 2 November Ali Mohammadi (Sydney) Szemerédi-Trotter theorem in general finite fields Wednesday 9 November in Carslaw 375 Colin Guillarmou (Université Paris-Sud) Lens rigidity in negative curvature Thursday 24 November 14:00–15:00 in Carslaw 535A David Baraglia (Adelaide) Integrability of the moduli stack of parahoric Higgs bundles Wednesday 14 December 10:00–11:00 in Carslaw 535A Guofang Wei (UC Santa Barbara) Isoperimetric and Sobolev Constant Estimate for Integral Ricci Curvature Wednesday 14 December 11:00–12:00 in Carslaw 535A Xianzhe Dai (UC Santa Barbara) Perelman's Functional for Manifolds with Conical Singularities Monday 19 December 11:00–12:00 in Carslaw 830 Gerhard Huisken (Tübingen/Oberwolfach) Mean curvature flow encoding mass and center of mass in asymptotically flat 3-manifolds

## Semester 1, 2016

Talks in Semester 1 will be on Wednesdays from 12:00–13:00 in Carslaw 535A unless noted otherwise. The titles below should be linked to the abstracts.

 Wednesday 9 March Eric Chesebro (Montana) Using character varieties to find closed surfaces in 3-manifolds Wednesday 16 March Kamil Bulinski (Sydney) Twisted multiple recurrence and patterns in large sets Friday 1 April, 10:00–11:00 in Carslaw 375 Alexandru Dimca (Sophia Antipolis) A computational approach to Milnor fiber cohomology Wednesday 6 April Tyrone Ghaswala (Waterloo) Superelliptic Covers and the Lifting Mapping Class Group Wednesday 13 April Michael Björklund (Chalmers University) Why one should fry pancakes in $$SL_3(\mathbb{R})$$ Wednesday 27 April Joan Porti (UAB) Reidemeister torsion and hyperbolic 3-manifolds Wednesday 4 May Jonathan Hillman (Sydney) Complements of connected hypersurfaces in $$S^4$$ Wednesday 11 May Feng Luo (Rutgers) A Discrete Uniformization Theorem for Polyhedral Surfaces Wednesday 18 May Catherine Greenhill (UNSW) Colouring random graphs and hypergraphs Wednesday 25 May Daryl Cooper (UCSB) Abundant Quasi-Fuchsian Surfaces in Cusped Hyperbolic 3-Manifolds Wednesday 1 June Christian Haesemeyer (UCLA/Melbourne) K-theory of singularities Wednesday 8 June Katharine Turner (EPFL) Persistent homology: an introduction and some example applications

## Summer break 2016

 Wednesday 10 February from 12:00–13:00 in Carslaw 535A Adam Parusinski (Sophia Antipolis) Local topological algebraicity of analytic function germs Friday 19 February from 12:00–13:00 in Carslaw 535A Weimin Sheng (Zhejiang University) K-Yamabe Problems Wednesday 24 February from 12:00–13:00 in Carslaw 535A Peter Scott (Michigan) Combinatorial Harmonic Maps


text:
# AceFEM: Divergence in iterative procedure (Newton-Raphson) for fine meshes

I am trying to model a problem of a nearly incompressible $$10~\rm{m} \times 2~\rm{m}$$ beam with a uniformly distributed end load. The beam has a Young’s modulus of $$200~\rm{Pa}$$ and a Poisson’s ratio of $$\nu=0.49995$$ and I am using a mixed displacement-pressure (Q1P0) formulation with a perturbed Lagrangian approach.

I am using meshes of $$2^N \times 2^N$$ Q1P0 elements and for $$N\leq6$$ to solution procedure is working fine. However, for $$N>6$$ the procedure diverges very early on. I have tried changing the initial load and the load step size in the solution procedure, and I have tried changing the material properties. Whatever I try I cannot get the solution procedure to work for $$N>6$$, which is a problem because I need solutions for at least up to $$N=8$$.
Note: The solution procedure works fine with standard Q2 elements for $$N=8$$ and I can’t figure out why it doesn’t work for the Q1P0 elements.

The solution procedure I am using is given below (unfortunately I don’t know how to make the Greek characters display properly in the code block)

SMTAnalysis[]; tolNR = 10^-5;  maxNR = 500;  targetNR = 100; \[Lambda]Max = 1;  \[Lambda]0 = \[Lambda]Max/1000;  \[CapitalDelta]\[Lambda]Min = \[Lambda]Max/10000;  \[CapitalDelta]\[Lambda]Max = \ \[Lambda]Max/100;  SMTNextStep["\[Lambda]" -> \[Lambda]0]; While[   While[    step =      SMTConvergence[tolNR,       maxNR, {"Adaptive BC",        targetNR, \[CapitalDelta]\[Lambda]Min, \ \[CapitalDelta]\[Lambda]Max, \[Lambda]Max}]    , SMTNewtonIteration[];    ];   If[step[[4]] === "MinBound", SMTStatusReport["Analyze"];     SMTStepBack[];];   step[[3]]    , If[step[[1]], SMTStepBack[];];   SMTNextStep["\[CapitalDelta]\[Lambda]" -> step[[2]]]   ];

Plotting the displacement of the end of the beam against $$N$$ yields the following

It is clear that the behavior is good up until $$N=6$$.

The element code and notebook in which problem is solved (including solution procedure) are available here:
Q1P0 element
Convergence Test

Any help in improving the solution procedure would be appreciated!


text:
Following my first GSoC, I had such a great experience with the PyMC community that I decided to undertake a second summer of code!

## My Project

Last year, my project entailed adding a Dirichlet Process (DP) submodule to PyMC. It’s still a work-in-progress, but hopefully I will have something working by the end of the summer in PyMC experimental! In January, I was able to merge a distribution classes for weights obtained via a stick-breaking process; you can read about the process in this blogpost.

A major focal point of my 2022 GSoC project revolves around improving AePPL’s functionality for mixture models. Notably, I aim to address the following issues:

Following my first summer, I decided that it would be good to further invest time diving into a codebase where I know that I need to help to understand. Given that I needed a break from my PhD studies, this time investment into a theoretically challenging project was something that appealed to me but also a good investment for the longer-term, both on a personal and professional level. Aesara, the computational backend to PyMC, is not an easy package to wrap one’s head around; its use is non-trivial and its codebase daunting. On top of that, AePPL provides the log-probability of random graphs written in Aesara and the delineation in package differences is not obvious. As my first blogpost for this summer’s GSoC, it would be good to talk a bit about Aesara and AePPL.

## Aesara 101

The best description is the one taken straight from the GitHub repository and Read the Docs: “Aesara is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently.” Effectively, Aesara allows users to define mathematical expressions via graph-like structures. A more commonly used tool that permits similar symbolic computation functionalities is the very famous and expensive MATLAB.

#### Defining Expressions

import aesara
from aesara import tensor as at

x = at.dscalar()
y = at.dscalar()

z = x + y

The example above was taken straight from the frontpage of Aesara. Here, x, y and z are tensor variables of type TensorVariable which do not have a value associated. In Aesara, such mathematical expressions have a corresponding graph; in order to produce any meaningful numerical computation that humans would understand, we would have to compile the graphs, often optimize them and then feed values. A little more on the optimization of graphs in a few scrolls.

#### Evaluating Expressions

Any variable in Aesara can be evaluated by calling .eval() but with provided appropriate inputs.

z.eval() # yields MissingInputError
z.eval({x: 3., y: 4.}) # yields array(7.)

Likewise, we can call upon aesara.function to do the compilation for us and retrieve a function that Python users are more familiar with.

f = aesara.function([x, y], z)
f(3., 4.) # yields array(7.)

#### Optimizing Expressions

x_1 = at.log(at.exp(x))
x_2 = at.exp(at.log(x))

f1 = aesara.function([x], x_1)
f2 = aesara.function([x], x_2)

Observe that the exponential function is the inverse of the logarithm function and vice-versa. x_1 is in fact identical to x, but domain restriction renders x_2 equal to x only for positive x. It can be written in a piecewise fashion as follows:

$x_2 = \begin{cases} x & \text{if } x > 0\\ \text{undefined} & \text{otherwise.} \end{cases}$

As such, using the very useful aesara.dprint function to print computational graphs, f1 and f2.

aesara.dprint(f1)

# DeepCopyOp [id A] 0
#  |<TensorType(float64, ())> [id B]

aesara.dprint(f2)

# Elemwise{Composite{Switch(GE(i0, i1), i0, i2)}} [id A] 0
#  |<TensorType(float64, ())> [id B]
#  |TensorConstant{0} [id C]
#  |TensorConstant{nan} [id D]

The printed optimized graph shows that f1 is just the identify function, but f2 has some domain restriction for the input, although the exact restriction is not exactly obvious from the printed graph.

## AePPL 201

(201 because there is no 101 due to its complexity...)

Note that, in the description of Aesara, there is no mentioning of random variables, log-probability nor stochastic primitives. This is because Aesara is the computational framework that solely focuses on defining and optimizing the graph-like that underpins mathematical expressions irrespective of the deterministic or stochastic nature of variables.

A good example of AePPL’s utility is its ability to provide log-probabilities is in the case of a two component mixture model. Consider a random variable $$Z$$ with a mixture density $$f_Z(z)$$ as follows:

$f_Z(z) = w_1 f_{Z_1}(z) + w_2 f_{Z_2}(z)$

with $$Z_1 \sim \mathcal{N}(-5, 0.1)$$ and $$Z_2 \sim \mathcal{N}(5, 0.1)$$. Equivalently, the Aesara graph can be constructed using an at.stack operation:

from aesara import tensor as at
from aeppl import joint_logprob

srng = at.random.RandomStream(seed=2320)

I_rv = srng.bernoulli(0.5, name="I")
X1_rv = srng.normal(loc=-5, scale=0.1, name="X")
X2_rv = srng.normal(loc=5, scale=0.1, name="X")

Z_rv = at.stack([X1_rv, X2_rv])[I_rv]

logp = joint_logprob({Z_rv: Z_rv.copy(), I_rv: I_rv.copy()})

As such, the log-probability function is able to provide the density of the correct component using indexing here:

logp.eval({z_vv: 5, i_vv: 1}) # array(0.69049938)
logp.eval({z_vv: 5, i_vv: 0}) # array(-4999.30950062)


text:
Pixel:

http://prntscr.com/hd63vm

1 year ago
Pixel:

1 year ago

You got this

1 year ago
Pixel:

;-;

1 year ago
Pixel:

my brain is wack

1 year ago
Pixel:

its almost 10:30

1 year ago

"each year" We already know it's Simple Interest $A(t) = P(1 + r)^{t}$ "440 coyotes" That is our initial amount, as they us to calculate for it's population in "2030" when the study was done in "2010" therefore t = 20 years. Then the predicted growth rate was 17% so we know r = 17% or 0.17

1 year ago

they use it*

1 year ago
Pixel:

440(1+0.17)^20

1 year ago

See? You got this :)

1 year ago
Pixel:

1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17 x 1.17

1 year ago
Pixel:

i cant get google to be my calculator

1 year ago
Pixel:

does it work for you?

1 year ago

You would write it as: (1.17)^20

1 year ago
Pixel:

i meant to solve

1 year ago

You don't have a calculator?

1 year ago
Pixel:

i do but google didn't want to calculate it

1 year ago

What do you mean? xD

1 year ago
Pixel:

1 year ago
Pixel:

see

1 year ago

Just type in: (1.17)^20 It is the better way to write exponents, so you do not have to write all that out xD

1 year ago
Pixel:

23.1055992

1 year ago
Pixel:

10166.4636

1 year ago

That's what I got

1 year ago
Pixel:

10166

1 year ago
Pixel:

100% tytyttytytyty

1 year ago

No problem :)

1 year ago
Similar Questions:


text:
# Sylow subgroups of a non abelian group $G$ with $|G|=21$ and $|G|=39$

I am trying to solve the following exercise:

¿How many Sylow subgroups has a non abelian group $G$ of order $21$ and $39$ respectively.

I could do the following:

a) $|G|=21=3\cdot 7$. I'll call $n_p$ the number of $p-$Sylow subgroups. Then we have $$n_3 \equiv 1 (3), \space n_3|7 \implies n_3 \in \{1,7\}$$ $$n_7 \equiv 1 (7), \space n_7|3 \implies n_7=1$$

I have to determine if $n_3=1$ or $n_3=7$. I suppose that here is where I must use that $G$ is not abelian. I couldn't do much from here, all I could think of was: let $H$ be the $7$-Sylow subgroup and $K$ be a $3-$Sylow subgroup (we don't know if there are $7$ or just $1$ but at least there exists one). Then $H \cap K=\{1\}$. Since $H$ is normal, we have that $HK$ is a subgroup in $G$ and $|HK|=\dfrac{|H||K|}{|H \cap K|}=3.7=21$. From here it follows $G$ can be expressed as a semidirect intern product of$H$ and $K$, $G=H._sK$.

I did an analogous thing for the case $G$ is a group of order $39$ and got stuck at the same point. Could this help me to determine if $n_3=1$ or $n_3=7$? I would appreciate some help to finish the problem. Thanks in advance.

If $n_3=1$, the $3$-Sylow subgroup $H_3$ is normal. Since $H_7$, the $7$-Sylow subgroup, is also normal, it can be shown that these two subgroups commute, meaning that for every $a\in H_3$ and $b\in H_7$ $ab=ba.$ It follows that $G$ is a direct product, thus abelian.
To show that they commute, let $a\in H_3,b\in H_7$, and observe the commutator $aba^{-1}b^{-1}.$ Since both subgroups are normal, the commutator is in both of them, thus is equal to $1$.


text:
Previous | Next --- Slide 57 of 59
Back to Lecture Thumbnails
GoldenKela

But why rotate the whole world around instead of rotating the camera? any benefits to this?

derk

Are we always going to maintain a fixed camera? Why would we apply world transformations instead of applying transformations to the camera?

tcarey

Can we use different perspective projections to simulate different types of lenses? Or do we usually do that in post processing?

large_monkey

In general, which stage of this pipeline would be considered to be the bottleneck? I would assume it is the part where the transformations are applied, as that would take the most arithmetic instructions.


text:
Get our free extension to see links to code for papers anywhere online!

Feb 18, 2018
Xingyu Liu, Jeff Pool, Song Han, William J. Dally

Convolutional Neural Networks (CNNs) are computationally intensive, which limits their application on mobile devices. Their energy is dominated by the number of multiplies needed to perform the convolutions. Winograd's minimal filtering algorithm (Lavin, 2015) and network pruning (Han et al., 2015) can reduce the operation count, but these two methods cannot be directly combined $-$ applying the Winograd transform fills in the sparsity in both the weights and the activations. We propose two modifications to Winograd-based CNNs to enable these methods to exploit sparsity. First, we move the ReLU operation into the Winograd domain to increase the sparsity of the transformed activations. Second, we prune the weights in the Winograd domain to exploit static weight sparsity. For models on CIFAR-10, CIFAR-100 and ImageNet datasets, our method reduces the number of multiplications by $10.4\times$, $6.8\times$ and $10.8\times$ respectively with loss of accuracy less than $0.1\%$, outperforming previous baselines by $2.0\times$-$3.0\times$. We also show that moving ReLU to the Winograd domain allows more aggressive pruning.

* Published as a conference paper at ICLR 2018


text:
## anonymous 5 years ago The shoerter leg of a 30-60-90 right triangle meadsures 3 in whats the length of the hypothenus.

1. anonymous

$a) 3\in b) 3\sqrt{3} c) 3\sqrt{3} d) 9$

2. anonymous

It's been a long time since geometry and I don't like it much but I think you can set it up as cos(30) = 3/h

3. anonymous

uh lol

4. anonymous

In triangle ABC, AB = 13 cm, BC = 25 cm, and AC = 17 cm. What is the smallest angle of triangle ABC? C B The smallest angle of triangle ABC can not be determined with the given information. A

5. anonymous

angle c b or a. is what that meant

6. anonymous

The smallest angle is angle C. A picture really helps with this one.

7. anonymous

8. anonymous

PQS is only similar to RQP. RQP is only similar to RPS. PQS is similar to both RQP and RPS. None of the triangles are similar

9. anonymous

a b c or d

10. anonymous

how do you kno this stuff?

11. anonymous

I can't see that one. Similar triangles mean the angles are the same, but the sides may have different lengths (that are proportional).

12. anonymous

you can enlarge the image by presein it

13. anonymous

I know, but I can't view it at work (it won't let me)

14. anonymous

oh ok

15. anonymous

thanks anyhow

16. anonymous

thanks anyhow

17. anonymous

Sorry I'm not more help, don't do much geometry.


text:
Recently I partcipated in a project that involved some server-side GPU rendering, due to the nature of the technologies we used we needed to run an X server on our boxes. The initial setup was relatively painless until a weird bug started appearing in some server and the logs didn’t provide enough information to debug effectively, this is how I ended up coding a remote viewer that streamed a remote server “screen” using WebRTC.

TL; DR: The complete source code can be found on this repo.

### Ok, but why?

I’m aware of other solutions to this problem, like setting up Virtual GL to stream a remote X server’s video thru VNC. I didn’t like this solution because:

1. It isn’t as easy to setup as copying a zip file, decompress it and running it.
2. It would have to be installed and started on every instance beforehand.
3. It would be another component to maintain with its own unknowns and issues.

### General Overview

Here’s the basic gist of what the tool does:

1. The service starts and listens on port 9000 by default, this can be changed with a flag.
2. The service exposes two endpoints, POST /session to start a session and GET /screens to get the available screens from the remote server.
3. Once a screen is chosen, a SDP offer is created in the browser, for simplicity there’s a workaround in place to avoid trickle ICE.
4. Once all ICE candidates have been gathered, a POST /session request with the selected screen and browser’s SDP is made.
5. The backend inspects the offer, checks if the browser supports h264 baseline 3.1 and if everything goes well, the server responds with a SDP answer.
6. Now the browser should receive and show the video stream.

### Implementation details

#### h264

I decided to use h264 instead of VP8 because the Golang binding for h264 feels more idiomatic and well thought than the VP8 one. It also means we can support older versions of Safari.

#### Sendonly support

Since this application only needs to stream media to the browser, I needed support for sendonly transceiver on the server. After going thru Pion’s code I realized that it wasn’t possible at the time. However, not everything’s so bad, the need for this feature pushed me to implement it and contribute to the Pion repo!

#### X Server (only?) support

The library I’m using to take screenshots supports multiple platforms, so in theory it should work but I haven’t tested it, if you do YMMV. The only hard dependency is libx264 (see the h246 section above).

#### Client-side code

I wanted to keep things simple so I didn’t setup Webpack/Babel to transpile to ES5 or divide my application between multiple files. The main reason for this is that I wanted to make deployment as simple as possible, zip it, scp’it, unzip it and run!

### The curse of Firefox’s WebRTC bug

I originally intended to release this repo / blog post a few weeks ago, since the project was a good MVP back then. However, life’s not so simple … just as I was preparing the repo’s README and tried to take a screenshot in FF I realized that I wasn’t working which I thought was weird since I got it working before.

It turns out that I hit this weird and relatively old bug that makes Firefox show a “black” video instead of the incoming stream when Firefox is the offerer. It took a while to debug and fix since there was basically no trace of errors (and as a seasoned developer I automatically assume the bug is my fault).

Luckily it wasn’t hard to fix, I ended up doing something like this:

func findBestCodec(sdp *sdp.SessionDescription, profile string) (*webrtc.RTPCodec, error) {
for _, md := range sdp.MediaDescriptions {
for _, format := range md.MediaName.Formats {
intPt, err := strconv.Atoi(format)
if err != nil {
return nil, fmt.Errorf("Can't find codec for %d", payloadType)
}

if sdpCodec.Name == webrtc.H264 {
packetSupport := strings.Contains(sdpCodec.Fmtp, "packetization-mode=1")
supportsProfile := strings.Contains(sdpCodec.Fmtp, fmt.Sprintf("profile-level-id=%s", profile))
if packetSupport && supportsProfile {
codec.SDPFmtpLine = sdpCodec.Fmtp
return codec, nil
}
}
}
}
return nil, fmt.Errorf("Couldn't find a matching codec")
}

It basically looks for the codec I support based on the codec name and profile, H264 Constrained Baseline 3.1 (42e01f) in this case.

### How does it look?

Here it is, working on Firefox

And finally, a brief capture of it (looks better in HD).

### Do you think that was useful/interesting?

I’m currently looking for a software engineering job in Canada or Europe (on-site), know of someone who could be interested? Let me know!


text:
# nLab Yang-Mills instanton Floer homology

### Context

#### $\infty$-Chern-Simons theory

∞-Chern-Weil theory

∞-Chern-Simons theory

∞-Wess-Zumino-Witten theory

cohomology

# Contents

## Idea

Instanton Floer homology is a variant of Floer homology which applies to 3-dimensional manifolds. It is effectively the Morse homology of the Chern-Simons theory action functional.

For $\Sigma$ a 3-dimensional compact smooth manifold and $G$ a simply connected compact Lie group let $[\Sigma,\mathbf{B}G_{conn}]$ be the space of $G$-connections on $\Sigma$, which is equivalently the groupoid of Lie algebra valued forms on $\Sigma$ in this case.

The instanton Floer homology groups of $\Sigma$ are something like the “mid-dimensional” singular homology groups of the configuration space $[\Sigma,\mathbf{B}G_{conn}]$.

More precisely, there is canonically the Chern-Simons action functional

$S_{CS} : [\Sigma,\mathbf{B}G_{conn}] \to U(1)$

on this space of connections, and one can form the corresponding Morse homology.

The critical locus of $S_{CS}$ is the space of flat $G$-connections (those with vanishing curvature), whereas the flow lines of $S_{CS}$ correspond to the Yang-Mills instantons on $\Sigma \times [0,1]$.

## References

The original reference is

• Andreas Floer, An instanton-invariant for 3-manifolds , Comm. Math. Phys. 118 (1988), no. 2, 215–240, euclid

Reviews:

• Simon Donaldson, Floer homology groups in Yang-Mills theory Cambridge Tracts in Mathematics 147 (2002), pdf

• Tomasz S. Mrowka, Introduction to Instanton Floer Homology at Introductory Workshop: Homology Theories of Knots and Links , MSRI (video)

Generalizations to 3-manifolds with boundary are discussed in

• Dietmar Salamon, Katrin Wehrheim, Instanton Floer homology with Lagrangian boundary conditions (arXiv:0607318)

Revised on August 30, 2011 19:45:04 by Zoran Škoda (161.53.130.104)


text:
# 12.2: Temperature and Temperature Scales

learning objectives

• Explain how the Celsius scale is defined

Celsius, also known as centigrade, is a scale to measure temperature. The unit of measurement is the degree Celsius (°C). It is one of the most commonly used temperature units in the world. The unit system is named after the Swedish astronomer Anders Celsius (1701-1744), who developed a similar temperature scale.

Temperature Scales: A brief introduction to temperature and temperature scales for students studying thermal physics or thermodynamics.

Thermometer: A thermometer calibrated in degrees Celsius

From 1743 until 1954, 0°C was defined as the freezing point of water, and 100°C was defined as the boiling point of water, both at a pressure of one standard atmosphere, with mercury as the working material. Although these defining correlations are commonly taught in schools today, by international agreement the unit “degree Celsius” and the Celsius scale are currently defined by two different temperatures: absolute zero and the triple point of Vienna Standard Mean Ocean Water (VSMOW; specially purified water). This definition also precisely relates the Celsius scale to the Kelvin scale, which defines the SI base unit of thermodynamic temperature and which uses the symbol K. Absolute zero, the lowest temperature possible (the temperature at which matter reaches minimum entropy), is defined as being precisely 0K and -273.15°C. The temperature of the triple point of water is defined as precisely 273.16K and 0.01°C. Based on this, the relationship between degree Celsius and Kelvin is as follows:

Phase Diagram of Water: In this typical phase diagram of water, the green lines mark the freezing point, and the blue line marks the boiling point, showing how they vary with pressure. The dotted line illustrates the anomalous behavior of water. Note that water changes states based on the pressure and temperature.

$\mathrm{T_{Celsius}=T_{Kelvin}−273.15.}$

Besides expressing specific temperatures along its scale (e.g., “Gallium melts at 29.7646°C” and “The temperature outside is 23 degrees Celsius”), the degree Celsius is also suitable for expressing temperature intervals — differences between temperatures, or their uncertainties (e.g. “The output of the heat exchanger is hotter by 40 degrees Celsius” and “Our standard uncertainty is ±3°C”). Because of this dual usage, one must not rely upon the unit name or its symbol to denote that a quantity is a temperature interval; it must be clear through context or explicit statement that the quantity is an interval.

## Farenheit Scale

In the Fahrenheit scale, the freezing of water is defined at 32 degrees, while the boiling point of water is defined to be 212 degrees.

learning objectives

• Explain how the Fahrenheit scale is defined and convert between it and Celsius

The Fahrenheit scale measures temperature. It is based on a scale proposed in 1724 by physicist Daniel Gabriel Fahrenheit (1686-1736). The unit of this scale is the degree Fahrenheit (°F). On this scale, water’s freezing point is defined to be 32 degrees, while water’s boiling point is defined to be 212 degrees.

Historically, the zero point of the Fahrenheit scale was determined by evaluating a thermometer placed in brine. Fahrenheit himself used a mixture of ice, water, and ammonium chloride (a salt) at a 1:1:1 ratio. This is a frigorific mixture, which stabilizes its temperature automatically; the stable temperature of this mixture was defined as 0 °F (-17.78 °C). The second determining point, 32 degrees, was a mixture of just ice and water at a 1:1 ratio. The third determining point, 96 degrees, was approximately the temperature of the human body, then called “blood-heat. ”

The Fahrenheit system puts the boiling and freezing points of water exactly 180 degrees apart. Therefore, a degree on the Fahrenheit scale is 1/180 of the interval between the freezing point and the boiling point. On the Celsius scale, the freezing and boiling points of water are 100 degrees apart. A temperature interval of 1 °F is equal to an interval of 5/9 degrees Celsius (°C). To convert °F to °C, you can use the following formula:

$\mathrm{T_{Celsius}=\dfrac{5}{9}(T_{Fahrenheit}−32)}$

The Fahrenheit and Celsius scales intersect at -40° (-40 °F and -40 °C represent the same temperature). Absolute zero (-273.15 °C, or 0K) is defined as -459.67 °F.

The Fahrenheit scale was replaced by the Celsius scale in most countries in the mid- to late-20th century, though Canada retains it as a supplementary scale that can be used alongside the Celsius scale. The Fahrenheit scale remains the official scale of the United States, the Cayman Islands, Palau, the Bahamas, and Belize.

Fig 2: Comparison of Celsius vs Fahrenheit scales.

Temperature Scales: A brief introduction to temperature and temperature scales for students studying thermal physics or thermodynamics.

## Absolute Zero

Absolute zero is the coldest possible temperature; formally, it is the temperature at which entropy reaches its minimum value.

learning objectives

• Explain why absolute zero is a natural choice as the null point for a temperature unit system

Absolute zerois the coldest possible temperature. Formally, it is the temperature at which entropy reaches its minimum value. More simply put, absolute zero refers to a state in which all the energy of a system is extracted (by definition, the lowest energy state the system can have). Absolute zero is universal in the sense that all matteris in ground state at this temperature. Therefore, it is a natural choice as the null point for a temperature unit system.

Graph of Pressure Versus Temperature: Graph of pressure versus temperature for various gases kept at a constant volume. Note that all of the graphs extrapolate to zero pressure at the same temperature

To be precise, a system at absolute zero still possesses quantum mechanical zero-point energy, the energy of its ground state. The uncertainty principle states that the position of a particle cannot be determined with absolute precision; therefore a particle is in motion even if it is at absolute zero, and a ground state still carries a minimal amount of kinetic energy. However, in the interpretation of classical thermodynamics, kinetic energy can be zero, and the thermal energy of matter vanishes.

The zero point of a thermodynamic temperature scale, such as the Kelvin scale, is set at absolute zero. By international agreement, absolute zero is defined as 0K on the Kelvin scale and as -273.15° on the Celsius scale (equivalent to -459.67° on the Fahrenheit scale). Scientists have brought systems to temperatures very close to absolute zero, at which point matter exhibits quantum effects such as superconductivity and superfluidity. The lowest temperature that has been achieved in the laboratory is in the 100 pK range, where pK (pico-Kelvin) is equivalent to 10-12 K. The lowest natural temperature ever recorded is approximately 1K, observed in the rapid expansion of gases leaving the Boomerang Nebula, shown below.

Boomerang Nebula: The rapid expansion of gases resulting in the Boomerang Nebula causes the lowest observed temperature outside a laboratory.

Temperature Scales: A brief introduction to temperature and temperature scales for students studying thermal physics or thermodynamics.

## Kelvin Scale

The kelvin is a unit of measurement for temperature; the null point of the Kelvin scale is absolute zero, the lowest possible temperature.

learning objectives

• Explain how the Kelvin scale is defined

The kelvin is a unit of measurement for temperature. It is one of the seven base units in the International System of Units (SI) and is assigned the unit symbol K. The Kelvin scale is an absolute, thermodynamic temperature scale using absolute zero as its null point. In the classical description of thermodynamics, absolute zero is the temperature at which all thermal motion ceases.

The choice of absolute zero as null point for the Kelvin scale is logical. Different types of matter boil or freeze at different temperatures, but at 0K (absolute zero), all thermal motions of any matter are maximally suppressed. The Kelvin scale is used extensively in scientific work because a number of physical quantities, such as the volume of an ideal gas, are directly related to absolute temperature.

The Kelvin scale is named after Glasgow University engineer and physicist William Thomson, 1st Baron Kelvin (1824-1907), who wrote of the need for an “absolute thermometric scale. ” Unlike the degree Fahrenheit and the degree Celsius, the kelvin is not referred to or typeset as a degree. The kelvin is the primary unit of measurement in the physical sciences, but it is often used in conjunction with the degree Celsius, which has the same magnitude. The kelvin is defined as the fraction 1/273.16 of the thermodynamic temperature of the triple point of water (exactly 0.01°C, or 32.018°F). To convert kelvin to degrees Celsius, we use the following formula:

$\mathrm{T_{Celsius}=T_{Kelvin}-273.15}$

Subtracting 273.16K from the temperature of the triple point of water, 0.01°C, makes absolute zero (0K) equivalent to -273.15°C and -460°F.

Calculating U

Relationships Between the Temperature Scales: Relationships between the Fahrenheit, Celsius, and Kelvin temperature scales, rounded to the nearest degree. The relative sizes of the scales are also shown

Temperature Scales: A brief introduction to temperature and temperature scales for students studying thermal physics or thermodynamics.

## Key Points

• The degree Celsius (°C) can refer to a specific temperature on the Celsius scale as well as a unit to indicate a temperature interval, a difference between two temperatures or an uncertainty.
• The Celsius scale is currently defined by two different temperatures: absolute zero and the triple point of Vienna Standard Mean Ocean Water (VSMOW; specially purified water).
• Based on this, the relationship between Celsius and Kelvin is as follows: $$\mathrm{T_{Celsius}=T_{Kelvin}−273.15}$$.
• The Fahrenheit system puts the boiling and freezing points of water exactly 180 degrees apart. Therefore, a degree on the Fahrenheit scale is 1⁄180 of the interval between the freezing point and the boiling point.
• To convert °F to °C, you can use the following formula: $$\mathrm{T_{Celsius}=\dfrac{5}{9}(T_{Fahrenheit}−32)}$$. The Fahrenheit and Celsius scales intersect at −40°.
• The Fahrenheit scale was replaced by the Celsius scale in most countries during the mid to late 20th century. Fahrenheit remains the official scale of the United States, Cayman Islands, Palau, Bahamas and Belize.
• Absolute zero is universal in the sense that all matter is in ground state at this temperature. Therefore, it is a natural choice as the null point for a temperature unit system.
• K system at absolute zero still possesses quantum mechanical zero-point energy, the energy of its ground state. However, in the interpretation of classical thermodynamics, kinetic energy can be zero, and the thermal energy of matter vanishes.
• The lowest temperature that has been achieved in the laboratory is in the 100 pK range, where pK (pico- Kelvin ) is equivalent to 10-12 K. The lowest natural temperature ever recorded is approximately 1K, observed in the rapid expansion of gases leaving the Boomerang Nebula.
• 0K ( absolute zero ) is universal because all thermal motions of all matter are maximally suppressed at this temperature. Absolute zero is therefore the natural choice as the null point of the Kelvin scale.
• The Kelvin scale is used extensively in scientific work because a number of physical quantities, such as the volume of an ideal gas, are directly related to absolute temperature.
• To convert kelvin to degree Celsius, we use the following formula: $$\mathrm{T_{Celsius}=T_{Kelvin}−273.15}$$.

## Key Terms

• kelvin: in the International System of Units, the base unit of thermodynamic temperature; 1/273.16 of the thermodynamic temperature of the triple point of water; symbolized as K
• absolute zero: The coldest possible temperature: zero on the Kelvin scale and approximately -273.15°C and -459.67°F. The total absence of heat; the temperature at which motion of all molecules would cease.
• standard atmosphere: an international reference pressure defined as 101.325 kPa and formerly used as a unit of pressure
• brine: a solution of salt (usually sodium chloride) in water
• frigorific mixture: A mixture of two or more chemicals that reaches an equilibrium temperature independent of the temperature of any of its constituent chemicals. The temperature is also relatively independent of the quantities of mixtures as long as a significant amount of each original chemical is present in its pure form
• entropy: A measure of how evenly energy (or some analogous property) is distributed in a system.
• thermodynamics: a branch of natural science concerned with heat and its relation to energy and work
• absolute zero: The coldest possible temperature: zero on the Kelvin scale and approximately -273.15°C and -459.67°F. The total absence of heat; the temperature at which motion of all molecules would cease.
• Triple point: The unique temperature and pressure at which the solid, liquid and gas phases of a substance are all in equilibrium.
• ideal gas: A hypothetical gas whose molecules exhibit no interaction and undergo elastic collision with each other and with the walls of the container.


text:
# The Sun-Earth relationship across different timescales and its climatic influences

Date:

Overview seminar given as conclusion to the course in Solar Physics course, explaining how solar variability affects Earth’s climate across different timescales.


text:
# How do you divide (2x^3-11x^2+9x-20)div(x-5) using synthetic division?

Aug 13, 2017

The remainder is $\textcolor{red}{0}$ and the quotient is $= 2 {x}^{2} - x + 4$

#### Explanation:

Let's perform the synthetic division

$\textcolor{w h i t e}{a a a a}$$5$$\textcolor{w h i t e}{a a a a a a}$$|$$\textcolor{w h i t e}{a a}$$2$$\textcolor{w h i t e}{a a a a a a a}$$- 11$$\textcolor{w h i t e}{a a a a a a}$$9$$\textcolor{w h i t e}{a a a a a a a}$$- 20$
$\textcolor{w h i t e}{a a a a a a a a a a a a}$$- - - - - - - - - - - -$

$\textcolor{w h i t e}{a a a a}$$\textcolor{w h i t e}{a a a a a a a}$$|$$\textcolor{w h i t e}{a a a a}$$\textcolor{w h i t e}{a a a a a a a}$$10$$\textcolor{w h i t e}{a a a a a a}$$- 5$$\textcolor{w h i t e}{a a a a a a a a}$$20$
$\textcolor{w h i t e}{a a a a a a a a a a a a}$$- - - - - - - - - - - -$

$\textcolor{w h i t e}{a a a a}$$\textcolor{w h i t e}{a a a a a a a}$$|$$\textcolor{w h i t e}{a a a}$$2$$\textcolor{w h i t e}{a a a a a a}$$- 1$$\textcolor{w h i t e}{a a a a a a a a}$$4$$\textcolor{w h i t e}{a a a a a a a a}$$\textcolor{red}{0}$

The remainder is $\textcolor{red}{0}$ and the quotient is $= 2 {x}^{2} - x + 4$

$\frac{2 {x}^{3} - 11 {x}^{2} + 9 x - 20}{x - 5} = 2 {x}^{2} - x + 4$