Singularities of non-Hermitian systems typified by exceptional points (EPs) are critical for understanding non-Hermitian topological phases and trigger many intriguing phenomena. However, it remains unexplored what happens when EPs meet one another. Here, in a typical four-level model with both touching and crossing intersections of EP hypersurfaces, we report the interconversion mechanisms between EPs of different orders. By examining both the eigenvalues and eigenvectors, we show analytically that all EPs of higher orders are formed at the touching intersections of two different types of EP hypersurfaces of lower orders. Contrarily, the crossing intersection of EP structures lowers the order of EPs. The mechanisms of the increase and decrease in defectiveness discovered here are expected to hold for EPs of any order in various non-Hermitian systems, providing a comprehensive understanding of EPs and inspiration toward advanced applications such as biosensing and information processing.
That disorder can induce nontrivial topology is a surprising discovery in topological physics. As a typical example, Chern topological Anderson insulators (TAIs) have been realized in photonic systems, where the topological phases exist without symmetry protection. In this work, by taking TM and TE polarizations as pseudo-spin degrees of freedom, we theoretically propose a scheme to realize disorder-induced symmetry-protected topological (SPT) phase transitions in two-dimensional photonic crystals (PCs) with a combined time-reversal, mirror and duality symmetry $\mathcal{T}_f=\mathcal{T}M_z\mathcal{D}$. In particular, we demonstrate that the disorder-induced SPT phase persists even without pseudo-spin conservation, thereby realizing a photonic $\mathbb{Z}_2$ TAI, in contrast to a $\mathbb{Z}$-classified quantum spin Hall (QSH) TAI with decoupled spins. By formulating a new scattering approach, we show that the topology of both the QSH and $\mathbb{Z}_2$ TAIs can be manifested by the accumulated spin rotations of the reflected waves from the PCs. Using a transmission structure, we also illustrate the trivialization of a disordered QSH phase with an even integer topological index caused by spin coupling.
We have theoretically and experimentally achieved large-area one-way transport by using heterostructures consisting of a domain of an ordinary photonic crystal sandwiched between two domains of magnetic photonic crystals. The nonmagnetized domain carries two orthogonal one-way waveguide states which have amplitude uniformly distributed over a large area. We show that such one-way waveguide states can be used to abruptly narrow the beam width of an extended state to concentrate energy, and the transport is robust against different kinds of defects and imperfections. They are also immune to the Anderson-type localization when large randomness is introduced.
A range-reduced static definition-use (def-use) fault detection framework is proposed to improve the scalability, but still retain its accuracy, when applied to large application programs. It casts common faults, such as null pointer dereferences, undefined references, buffer overflows, and memory leaks into a common def-use fault pattern, and uses a two-level path-insensitive approach to classify variable uses that can trigger faults into must-trigger, must-not-trigger, and may-trigger categories depending on whether the unsafe uses can actually be, never be, or may be executed. For those must-trigger unsafe uses, faults are immediately reported, and those must-not-trigger uses are dropped from further analysis. The already reduced program range that is relevant to the may-trigger unsafe uses is further reduced by using a binary decision diagram encoded path extraction scheme for more accurate, but more expensive, path-sensitive analysis. A prototype has been built using this approach, and a set of large realistic applications (a total of more than 4.8 MLOC) was tested for such common types of def-use faults. Compared with existing popular path-sensitive detection tools such as Clang Static Analyzer, we find our approach incurs less analysis time, but achieves good accuracy with a low false positive rate and no false negative.
Propagation behaviors of electromagnetic waves are governed by the equifrequency surface of the medium. Up to now, ordinary materials, including the medium exist in nature and the man-made metamaterials, always have an equifrequency surface (ellipsoid or hyperboloid) centered at zero k-point. Here we propose a new type of metamaterial possessing multiple index ellipsoids centered at arbitrary nonzero k-points. Their locations in momentum space are determined by the connectivity of a set of interpenetrating metallic scaffolds, whereas the group velocities of the modes are determined by the geometrical details. Such system is a new class of metamaterial whose properties arise from global connectivity and hence can have broadband functionality in applications such as negative refraction, orientation-dependent coupling effect, and cavity without walls, and they are fundamentally different from ordinary resonant metamaterials that are inherently bandwidth limited. We perform microwave experiments to confirm our findings.
The exposed surface of a truncated photonic crystal (PC) may or may not carry surface states. Likewise, when two PCs are joined together, there is no assurance that interface states can be found at the boundary. We show, however, that interface states must exist at the boundary between a two-dimensional dielectric PC and its "inverted" partner (the conjugate structure formed by interchanging the high/low dielectric region) as long as a common gap can be found above the lowest band and the crystal structures possess a mirror symmetry on average along the interface direction. The interface states form deterministically as a result of different geometric phases of the bulk bands across the boundary. As the existence is protected by topological principles, the interface state will persist even in the limit of extremely small common gaps. The presence of interface states is demonstrated theoretically for a variety of PCs and also experimentally.
定值-引用类错误是一类非常重要且常见的错误.当前,对这类错误的检测很难同时达到高精度和高可扩展性.通过合理组合敏感和不敏感的检测方法并控制两类方法的实施范围,可以同时达到高检测精度和高可扩展性.提出一种新颖的场景敏感的检测方法,该方法根据触发状态对潜在错误语句分类,识别不同类别语句的触发场景并实施不同开销的检测,在不降低精度的同时最小化检测开销.设计了一个多项式时间复杂度的流敏感、域敏感和上下文敏感的场景分析以进行分类,并基于程序依赖信息识别触发场景,仅对必要的触发场景实施路径敏感的检测.为上述方法实现了一种原型系统——Minerva.通过使用空指针引用错误检测为实例研究以及总代码规模超过290万行,最大单个应用超过200万行的应用验证,用例实验结果表明,Minerva的平均检测时间比当前先进水平的路径敏感检测工具Clang-sa和Saturn分别快3倍和46倍.而Minerva的误报率仅为24%,是Clang-sa和Saturn误报率的1/3左右,并且Minerva未发现漏报已知错误.上述数据表明,所提出的场景敏感的错误检测方法可同时获得高可扩展性和高检测精度.
Pointers are widely used in C programs,pointer dereference faults are dangerous while they occur frequently.Many tools are designed to detect this kind of faults,but the state-of-art tools cannot meet the practical needs due to inconvenient usage,low detection accuracy and poor scalability.This paper presents a detection approach which is based on flow-sensitive,field-sensitive and context-sensitive propagation engine.The approach successfully lowers the user burden,improves detection accuracy and scalability.The core concept of the approach is fault attribute lattice.The lattice values are computed and propagated through the source code to detect the faults which were characterized via the fault attribute lattice.A prototype system named Propagator based on Open64 compiler has been implemented.Using null-pointer dereference fault detection as one case study,the comparison experiments with Saturn,Splint and Clang-SA on applications such as Apache,OpenSSH,gzip etc.are done.The results show that Propagator uses only 12 seconds on average to finish the fault checking and the false positive rate of Propagator is only 13% on average.Furthermore,Propagator do not report known false negatives.It is clear that Propagator not only improves the scalability but also achieves the high detection accuracy,thus indicates our approach can be used in practical.
Static program checking on temporal safety property that can be described by finite state machine(FSM) has been one of the hot research topics recently.In this paper,we propose a new approach to improve both of the precision and scalability of static program checking.We used FSM slicing to reduce the size of the programs being checked in a demand-driven manner without checking precision loss.Such reduction can simplify the structure of the programs thus reduce the complexity of the program analysis used by the program checking.The experiment results show that the FSM slices can improve the scalability of the Saturn to 6.34 times on average,and can improve the precision of the Fastcheck to 1.20 times on average.
对于共享cache的多核处理器,如何管理好各个核对cache的利用,对于充分发挥多核处理器性能是很关键的问题.目前采用的cache替换方法程序间会出现性能干扰,cache静态划分技术则是通过为同时运行的程序分配不同的空间来解决性能干扰问题.为了给程序分配合适大小的cache空间,需要对程序进行性能profiling,即事先多遍运行收集程序在各种cache容量下的性能数据,这种性能profiling方法开销巨大,影响实用.为了解决性能profiling需要多遍运行程序的问题,提出了只需单遍运行的程序性能profiling优化技术.该技术利用在线的phase分析技术识别程序的运行阶段,避免对相同阶段的重复profiling;同时分析程序各phase的性能同cache容量变化的关系趋势,对于性能不敏感的容量变化则不进行profiling,降低开销.在程序运行结束后通过程序各phase在cache各种容量下的性能来估计程序在各容量下的整体性能,以指导cache静态划分.实验表明,该技术的开销仅为7%,而该方法指导的cache划分比未划分时有8%的性能改进,同多遍运行的程序性能profiling指导的cache划分性能相比仅有1%的下降.
In this paper,it presents a new slicing technique and alias set slicing technique.Based on alias set slice,it partitions the input program into several independent slices which can analyzed by complex program analyzer,because slices contain all statements which they dependent on.It uses this method to parallelize complex alias analysis and error checking analysis.With the experiments on SPEC CPU2000/CPU2006,it can achieve speedup 3.42 for parallel error checking analysis.
直接运行于微控制器上的中断驱动程序中可能存在一种重要的程序错误:数据竞争.然而当前主流的数据竞争静态检测技术因其服务于多线程模型程序而不适用.设计简明、易用的中断特征描述语言可以使得竞争检测具有平台无关性;同时,提出了一个流敏感的、上下文敏感的、考虑中断驱动程序原子性、易变性和部分随机性的数据竞争检测算法.该算法具有高效、精确的特点.实验表明,其检测时间与代码规模基本呈线性关系,分析17850行代码仅用时3.6s;同时,相比于基于锁集技术的典型数据竞争检测方法,其准确率平均是后者的2.13倍.
Machine translation (MT), with its broad potential use, has gained increased attention from both researchers and software vendors. To generate high quality translations, however, MT decoders can be highly computation intensive. With significant raw computing power, multi-core microprocessors have the potential to speed up MT software on desktop machines. However, retrofitting existing MT decoders is a nontrivial issue. Race conditions and atomicity issues are among those complications making parallelization difficult. In this article, we show that, to parallelize a state-of-the-art MT decoder, it is much easier to overcome such difficulties by using a process-based parallelization method, called functional task parallelism, than using conventional thread-based methods. We achieve a 7.60 times speed up on an 8-core desktop machine while making significantly less changes to the original sequential code than required by using multiple threads.
Computer program consists of a lot of computation units,which depend on each other or not,and serve to final computation result.The independent computation can be parallelized to accelerate the whole program.Program slicing can extract independent computation from large program according to slicing criterion,which is one set of variable and one program position.Program slicing can help exploiting parallelism from serial program,which we call slicing pa-rallelism.This paper extended OpenMP to model slicing parallelism,and we also developed one slicing analysis tool,which could recognize slicing parallelism and help programmer to parallelize serial program.
We present a practical and scalable method for flow- and context-sensitive (FSCS) pointer analysis for C programs. Our method analyzes the pointers in a program level by level in terms of their points-to levels, allowing the points-to relations of the pointers at a particular level to be discovered based on the points-to relations of the pointers at this level and higher levels. This level-by-level strategy can enhance the scalability of the FSCS pointer analysis in two fundamental ways, by enabling (1) fast and accurate flow-sensitive analysis on full sparse SSA form using a flow-insensitive algorithm and (2) fast and accurate context-sensitive analysis using a full transfer function and a meet function for each procedure. Our level-by-level algorithm, LevPA, gives rises to (1) a precise and compact SSA representation for subsequent program analysis and optimization tasks and (2) a flow- and context-sensitive MAY/MUST mod (modification) set and read set for each procedure. Our preliminary results show that LevPA can analyze some programs with over a million lines of C code in minutes, faster than the state-of-the-art FSCS methods.
源源翻译是使编译器的分析和优化可重定向的一种重要方式.它被广泛用来支持并行语言扩展或者各种体系结构无关的优化,并且可以帮助程序员进行正确性或者性能的调试.在多核/众核时代,程序分析和优化倾向于让用户更多地参与,这种平台无关而且用户友好的代码生成方式也越来越受到欢迎.在简单的编译器中添加源源翻译的支持很容易,但在实现了复杂的程序分析和激进的优化的编译器中,却很少有编译器提供健壮的源源翻译支持.优化对程序结构的改变是造成翻译困难的首要原因.结合大量出错实例对优化给源源翻译带来的困难进行分析,提出了一套基于类型恢复的翻译技术,并在Open64编译器中实现了这种方法.通过supertest和spec2000测试集的测试,验证了这种方法对源源翻译的健壮性有很大改善.该方法的实现模块集成在源源翻译器内,与编译器各种分析优化模块独立,所以该方法容易移植到其他编译器中.
Nowadays error checking becomes more and more significant for constructing high reliable software. In this paper, we will introduce our work of integrating static error checking into Open64. We are devoting to construct an aggressive program analysis framework for error checking in the compiler. We integrate the intraprocedural analysis into interprocedural phase in order to do flowand contextsensitive whole program analysis. The precision of alias information can heavily impact many consequent analyses and error checking. We also have improved the original alias analysis to be field-sensitive so that field members of the same structural object can be distinguished in the resulted points-to graph
软件流水是一种重要的指令调度技术,它通过同时执行来自不同循环迭代的指令来加快循环的执行时间.随着处理器速度和访存速度差距越拉越大,访存指令尤其是cache miss的访存指令日益成为系统性能提高的瓶颈.由于这些指令的延迟不是固定的,如何在软件流水中预测并掩盖这些访存指令的延迟是非常重要的.与前人预测访存延迟的方法不同,引入cache profiling技术,通过动态收集到profile信息来预测访存延迟,并进行适当的调度.当增加模调度循环中的访存指令的延迟时,启动间隔也会随之增大,导致性能不会随之上升.CSMS算法和FLMS算法在尽量不增大启动间隔的情况下,改变访存指令的延迟.改进了CSMS算法和FLMS算法,根据cache profiling的信息来改变访存延迟,所以比前人的方法更为准确.实验表明,新方法可以有效地提高程序性能,对SPEC2000测试程序平均性能提高1%左右,个别例子的性能改进高达11%.
二进制翻译技术现已成为实现软件移植的重要手段.在二进制翻译系统中,如何有效地挖掘程序的代码并对其进行高效翻译是影响系统性能的关键,而二进制代码中间接跳转语句的存在,使得静态时难以得到它的跳转目标,影响了代码的发掘率和最终的翻译效果.在通常的应用程序中,间接跳转指令经常用来实现多目标分支语义,分支目标存放在跳转表中.提出了一种解析多目标分支语句及其跳转表的方法,能够挖掘出间接跳转的目标,进而对其进行有效翻译并提高二进制翻译系统的性能.该方法提出使用语义图来对预期语义进行刻画和表达.语义图能够对考察的指令序列进行语义提取,识别出与预期语义相匹配的指令流,还可以应对编译器在不同优化选项下生成的指令,并能有效滤除不相关指令带来的干扰.实验结果表明,对于SPEC CINT2000中的部分测试用例,代码翻译的覆盖率可以提高9.85%~22.13%,相应带来的性能提升可达到8.30%~17.71%,而使用的算法时间复杂度仅为O(1).
Guei-Yuan Lueh合作论文数Intel Corporation3